Ho insegnato programmazione di base per computer all'8 °/9 ° anno per due settimane, e ieri ho provato a mostrare loro come potevano realizzare veri e propri giochi di testo-avventura in Python.Evitare l'uso globale senza confondere nuovi studenti di programmazione in Python?
scene sono funzioni, (per esempio dragons_cave()
) che consistono in alcune dichiarazioni di stampa e poi una chiamata a input()
, chiedendo al giocatore dove vogliono andare dopo, che poi viene passato al globals()
di trovare la funzione appropriata e quindi chiamati. So che non è l'ideale (a che punto l'enorme catena di funzioni inizia a diventare un problema?) Ma, di quello che mi è passato per la testa, sembra essere il più semplice per loro mentre coinvolge solo un po 'di manovre.
Il mio problema è con stato globale - ex. il giocatore ottiene una chiave in una scena e solo allora possono sbloccare il cancello in un'altra scena. Quando ho immutables globali come stringhe o booleani, Python vuole che io usi la parola chiave global
all'inizio della funzione.
global hasKey
hasKey = True
Sono abbastanza d'accordo con questo, ma ho un senso vago (prelevati da StackOverflow tra gli altri luoghi su Internet) che global
è visto di buon occhio e ha sempre una controparte superiore. Potrei avere un dizionario globale o avvolgere tutto in una classe, ma non sono sicuro di poter difendere chiaramente quelle opzioni ai miei figli (che stanno ancora riflettendo sulle implicazioni delle variabili).
Qualsiasi cosa io usi, voglio essere in grado di spiegare direttamente ai miei figli perché lo facciamo in questo modo e perché farlo in questo modo è necessario. global
sembra avere entrambe queste proprietà, ma è male?
ci sono molti buoni motivi per evitare la globalizzazione, ci sono anche molti motivi perfettamente validi per usare i globals. solo il mio 2c ... per i principianti è un concetto più facile da cogliere ma può portare a cattive abitudini in futuro. –
Voterò che tu sia onesto e in anticipo. "Quando diventi programmatore più esperto, imparerai che esistono metodi migliori rispetto all'utilizzo dei globali. Per ora, ci aiuta a mantenere le cose semplici mentre impariamo le basi.Se vuoi imparare come fare questo senza le globali, chiedimi dopo le lezioni. "Poche persone che conosco hanno imparato a camminare indossando scarpe da ginnastica –