Recentemente ho iniziato a utilizzare UtilSnips , un plugin Vim che consente un certo livello di automazione durante la codifica utilizzando frammenti di codice tipo template per i frammenti di codice comuni (definizioni di classi e funzioni, ad esempio).
Quando utilizzo un popolare pacchetto snippet con Python, ho notato che gli snippet utilizzati durante la scrittura di una classe utilizzano un modello I ' non ho mai visto prima in __init__
quando si usano più argomenti di appena self
:
class MyClass(object):
"""Docstring for MyClass. """
def __init__(self, user, password):
"""TODO: to be defined.
:user: TODO
:password: TODO
"""
self._user = user # this is the pattern I'm unfamiliar with
self._password = password
È pratica comune (o buona) usare il trattino basso quando si assegna variabili di istanza in un costruttore per una classe in Python, o è probabile che sia solo la preferenza dell'autore del snippet pack? Non ho visto questo tipo di convenzione di denominazione in nessun altro codice Python con cui ho interagito.