Sono arrivato a Python da C ++ (conosco anche un po 'di Java). Sto scrivendo il codice per esercitare un server quindi uso fondamentalmente i metodi http per inviare un carico di richieste al server. Come parte del mio codice ho creato una classe e l'ho chiamata testdata. Questo contiene fondamentalmente dati di input di test (per inviare richieste) e dati di output da controllare.
Con il mio cappello C ++ ho creato un carico di metodi getter e setter che erano una sola riga. Ho persino avuto un metodo __init__
per impostare ad es. self.<some_attribute_name> = ""
o qualche default sicuro.
Ora mi rendo conto che puoi liberamente aggiungere attributi ad un oggetto python e non è necessario inizializzare le variabili semplici in init.
Quindi ho alcune domande.
-
Per la mia classe di testdata, dovrei anche usare una classe?
-
Aggiungo solo elementi di dati come questo:
import testing td = testing.testdata() td.sessionid = "123"
-
Ma per quanto riguarda l'accesso ad es. a
td.sessionid
prima di aver assegnato un valore in precedenza. So che posso usarehasattr
ma questo è un onere aggiuntivo. Devo assicurarmi di assegnare sempre prima? Cosa succede se facciotd.sessionid
prima che venga persino assegnato qualcosa? Otterrò un AttributeError in fase di runtime. Come gestirlo? -
A causa del problema 3. sopra. Devo utilizzare sempre
__init__
per inizializzare i dati dei membri su valori predefiniti sicuri? ad es. "" per archi.
Quali sono gli approcci consigliati in Python?