2014-11-03 16 views
6

Sözlük parametresi için bir docstring eklemenin önerilen yolu nedir? Birden çok satırdaki doc-string örneğini here görebilirim.dict için python docstring ekleme

Giriş argümanlarını dokümanın içindeki bir işleve belgelemem gerekiyor. Basit bir değişken varsa, ben gibi bir şey kullanabilirsiniz:

def func2(a=x, b = y): 
""" fun2 takes two integers 

Keyword arguments: 
a -- refers to age (default 18) 
b -- refers to experience (default 0) 
""" 

biz dict işlevi girdisi argüman olarak geçirilen varsa:

def func3(**kwargs): 
    """ takes dictionary as input 

     <Here how to explain them - Is it like?> 
     kwargs['key1'] -- takes value1 

     <or simply> 
     key1 -- takes value1 
     """ 
+4

Could seni: Python 3.5 Dan

def func(a_dict: dict): """Some function to do something to a dictionary.""" ... 

, sen typing kullanarak daha açık olabilir lütfen tam olarak ne demek istediğini açıkla? Sözlük olması gereken bir parametrenin nasıl belgeleneceğini kastediyor musunuz? – jonrsharpe

+0

Evet, sözlük olan bir parametrenin nasıl belgeleneceği. –

cevap

10

Genellikle bu yüzden bir sözlük parametre gibi görünür, Google docstring style kullanmak :

def func(a_dict): 
    """Some function to do something to a dictionary. 

    Args: 
     a_dict (dict of str: int): Some mapping, I guess? 

    """ 
    ... 

**kwargs (not alan bir işlevi: şudur değil oldukça gibi bir sözlük parametre) sahip olarak aynı olacaktır: mevcut olmalıdır belirli parametreleri varsa

def func(**kwargs): 
    """Some function to do stuff to arbitrary keyword arguments. 

    Args: 
     **kwargs: Arbitrary keyword arguments. 

    """ 
    ... 

(ör Sizin key1), ayrı olmalıdır, **kwargs içine yuvarlanmamış.

Python 3.x ise

, ayrıca function annotations kullanabilirsiniz:

from typing import Mapping 

def func(a_dict: Mapping[str, int]): 
    """Some function to do something to a dictionary.""" 
    ... 
+0

teşekkürler, şimdi aldım. –

İlgili konular