มีตัวอย่างหลักของสฟิงซ์ในเอกสารของพวกเขา โดยเฉพาะอย่างยิ่งพวกเขาแสดงสิ่งต่อไปนี้:
def public_fn_with_googley_docstring(name, state=None):
"""This function does something.
Args:
name (str): The name to use.
Kwargs:
state (bool): Current state to be in.
Returns:
int. The return code::
0 -- Success!
1 -- No good.
2 -- Try again.
Raises:
AttributeError, KeyError
A really great idea. A way you might use me is
>>> print public_fn_with_googley_docstring(name='foo', state=None)
0
BTW, this always returns 0. **NEVER** use with :class:`MyPublicClass`.
"""
return 0
แม้ว่าคุณจะถามเกี่ยวกับ สฟิงซ์อย่างชัดเจนฉันยังอยากจะชี้ไปที่คู่มือสไตล์ Google หลาม ตัวอย่าง docstring ของพวกเขาดูเหมือนจะบอกเป็นนัยว่าพวกเขาไม่ได้เรียก kwargs โดยเฉพาะ (other_silly_variable = ไม่มี)
def fetch_bigtable_rows(big_table, keys, other_silly_variable=None):
"""Fetches rows from a Bigtable.
Retrieves rows pertaining to the given keys from the Table instance
represented by big_table. Silly things may happen if
other_silly_variable is not None.
Args:
big_table: An open Bigtable Table instance.
keys: A sequence of strings representing the key of each table row
to fetch.
other_silly_variable: Another optional variable, that has a much
longer name than the other args, and which does nothing.
Returns:
A dict mapping keys to the corresponding table row data
fetched. Each row is represented as a tuple of strings. For
example:
{'Serak': ('Rigel VII', 'Preparer'),
'Zim': ('Irk', 'Invader'),
'Lrrr': ('Omicron Persei 8', 'Emperor')}
If a key from the keys argument is missing from the dictionary,
then that row was not found in the table.
Raises:
IOError: An error occurred accessing the bigtable.Table object.
"""
pass
ABB มีคำถามเกี่ยวกับคำตอบที่ยอมรับในการอ้างถึงเอกสารการจัดการกระบวนการย่อย หากคุณนำเข้าโมดูลคุณสามารถดู docstrings ของโมดูลได้อย่างรวดเร็วผ่านการตรวจสอบ getsource
ตัวอย่างจากล่าม python โดยใช้คำแนะนำของ Silent Ghost:
>>> import subprocess
>>> import inspect
>>> import print inspect.getsource(subprocess)
แน่นอนว่าคุณยังสามารถดูเอกสารประกอบโมดูลผ่านฟังก์ชั่นวิธีใช้ ตัวอย่างความช่วยเหลือ (กระบวนการย่อย)
ฉันไม่ได้เป็นแฟนตัวเองของ docstring กระบวนการย่อยสำหรับ kwargs เป็นตัวอย่าง แต่ก็เหมือนกับตัวอย่างของ Google มันไม่ได้แสดงรายการ kwargs แยกจากกันดังที่แสดงในตัวอย่างเอกสาร Sphinx
def call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete, then
return the returncode attribute.
The arguments are the same as for the Popen constructor. Example:
retcode = call(["ls", "-l"])
"""
return Popen(*popenargs, **kwargs).wait()
ฉันรวมคำตอบสำหรับคำถามของ ABB ไว้ด้วยเพราะเป็นที่น่าสังเกตว่าคุณสามารถตรวจสอบแหล่งที่มาของโมดูลหรือเอกสารด้วยวิธีนี้เพื่อรับข้อมูลเชิงลึกและแรงบันดาลใจในการแสดงความคิดเห็นโค้ดของคุณ