Sono un programmatore newbie. Trovo fastidioso dichiarare una variabile in 1 funzione e non essere in grado di accedervi in altre funzioni. Devo rendere molte delle mie variabili globali solo per far funzionare il mio codice. Ma molte persone dicono che lo stato globale è malvagio. Non capisco lo scopo di avere uno scopo limitato, comunque.
L'ambito sembra incoraggiare gli sviluppatori a dichiarare le variabili con lo stesso nome in luoghi diversi.
def func1():
a = 'hello world'
...
def func2():
a = 'hello universe'
...
Senza la necessità di distinguere le variabili in funzioni diverse, gli sviluppatori chiamano le loro variabili nomi vaghi e meno significativi. Non sarebbe meglio avere nomi di variabili più specifici?
def func1():
func1_a = 'hello world'
...
def func2():
func2_a = 'hello universe'
...
Perché limitare l'accesso alle variabili al di fuori del blocco in cui è definito, ovvero l'ambito, una buona cosa da avere nei linguaggi di programmazione? Come novizio, trovo conveniente rendere ogni variabile una variabile globale. Perché è così brutto nei progetti più grandi?