Hoe declareer ik een globale variabele in een functie in Python?
Dat wil zeggen, zodat het niet eerder hoeft te worden gedeclareerd, maar buiten de functie kan worden gebruikt.
Antwoord 1, autoriteit 100%
Ja, maar waarom?
def a():
globals()['something'] = 'bob'
Antwoord 2, autoriteit 44%
def function(arguments):
global var_name
var_name = value #must declare global prior to assigning value
Dit werkt in elke functie, ongeacht of het in hetzelfde programma zit of niet.
Hier is een andere manier om het te gebruiken:
def function():
num = #code assigning some value to num
return num
OPMERKING: Als u de ingebouwde return
gebruikt, wordt het programma (of de functie) automatisch gestopt, ongeacht of het klaar is of niet.
Je kunt dit gebruiken in een functie als deze:
if function()==5 #if num==5:
#other code
Hierdoor zou je de variabele buiten de functie kunnen gebruiken. Hoeft niet per se globaal te worden verklaard.
Bovendien, om een variabele van de ene functie naar de andere te gebruiken, kun je zoiets als dit doen:
import primes as p #my own example of a module I made
p.prevPrimes(10) #generates primes up to n
for i in p.primes_dict:
if p.primes_dict[i]: #dictionary contains only boolean values
print p.primes_dict[i]
Hierdoor kunt u de variabele in een andere functie of programma gebruiken zonder dat u een globale variabele of de ingebouwde return
hoeft te gebruiken.