2015-03-25 14 views
6

In Python 2, esiste un metodo canonico per documentare che un metodo può essere più di un tipo?Come documentare l'argomento che richiede più tipi

Ecco come ho fatto:

def __init__(self, work_order_number): 
    """This message communicates that a job is being rerun. Olio will 
    forget everything it knows about the job. 

    Args: 
     work_order_number (int or str): Work order number 
    """ 
    payload = { 
     'work_order_number': str(work_order_number), 
    } 
    self.content = json.dumps(payload) 

dove ho usato la notazione (int or str) per indicare che l'argomento può essere un numero intero o una stringa.

In che modo i programmi Python 2 di solito documentano che un argomento del metodo può essere di più di un tipo? Esiste uno standard o una buona pratica?

causa di forze che sfuggono al mio controllo, non posso usare Python 3 e quindi non può utilizzare le annotazioni

+0

che sembra OK per me. Non c'è molto canonico nella barra delle docstrings [PEP-257] (https://www.python.org/dev/peps/pep-0257/) - a patto che tu sia coerente all'interno del tuo progetto (e le ristrettezze di qualsiasi cosa generando documentazione da loro) stai bene. – jonrsharpe

risposta

3

Il modo in cui l'avete fatto va bene. Non esiste un formato esatto che sia necessario; hai solo bisogno di chiarire l'intento usando le virgole o "o". Si veda ad esempio le varie funzioni da matplotlib o pandas che prendono argomenti documentati "lista-like o un numero intero" "str o Nessuno", "galleggiante, sequenza o Nessuno", e così via