2017-02-16 24 views
6

możemy wskazać typy parametrów funkcyjnych za pomocą docstring w pytona:Czy podpowiedź do typu w pythonie 3 może być używana do generowania docstringu?

def f1(a): 
    """ 
    :param a: an input. 
    :type a: int 
    :return: the input integer. 
    :rtype: int 
    """ 
    return a 

Na f1, AutoDoc generuje następujący dokument:

fun1(a) 
    Parameters : a (int) – an input. 
    Returns : the input integer. 
    Return type: int 

W pytona 3 rodzajów może być wskazywany przez typ podpowiedź a także:

def f2(a: int): 
    """ 
    :param a: an input. 
    :return: the input integer. 
    :rtype: int 
    """ 
    return a 

Po uruchomieniu autodoc, wstawia typ według deklaracji parametru, ale nie w de SCRIPTION:

f2(a: int) 
    Parameters : a – an input. 
    Returns : the input integer. 
    Return type: int 

byłoby możliwe generowanie dokumentacji jako f1 używając adnotacji zamiast docstring? Używam Pythona 3.6. Dziękuję Ci!

+1

Oczywiście możesz napisać kod, który zrobi to, co chcesz. –

+0

Zobacz: https://github.com/sphinx-doc/sphinx/issues/1968 Prawdopodobnie z tą zmianą można uzyskać wsparcie adnotacji typu po wyjęciu z pudełka – user3159253

+0

Tak, mam nadzieję, że wkrótce będzie obsługiwane przez Sphinx. –

Odpowiedz

1

Jeszcze nie, z tego co wiem, Sphinx jeszcze tego nie obsługuje. Błąd wspomniany w komentarzu dotyczył reprezentacji wskazówek, a nie ich pozycjonowania.

Wiem, że obecnie istnieje rozszerzenie dla Sphinx, które zajmuje się tym za Ciebie, pod nazwą sphinx-autodoc-typehints. Prawdopodobnie na razie można z tego skorzystać.

+0

Cudownie, na razie użyję tej wtyczki. Mam nadzieję, że ta funkcja zostanie zintegrowana natywnie ze Sphinx. Dzięki. –