Можно ли определить глобальные переменные в функции в Python
Как объявить глобальную переменную в функции в Python?
То есть, чтобы он не был объявлен ранее, но может использоваться вне функции.
Ответ 1
Да, но почему?
def a():
globals()['something'] = 'bob'
Ответ 2
def function(arguments):
global var_name
var_name = value #must declare global prior to assigning value
Это будет работать в любой функции, независимо от того, находится ли она в той же программе или нет.
Вот еще один способ его использования:
def function():
num = #code assigning some value to num
return num
ПРИМЕЧАНИЕ. Использование встроенного модуля return автоматически остановит программу (или функцию), независимо от того, закончена она или нет.
Вы можете использовать это в следующей функции:
if function()==5 #if num==5:
#other code
Это позволит вам использовать переменную вне функции. Не обязательно должен быть объявлен глобальным.
Кроме того, чтобы использовать переменную от одной функции к другой, вы можете сделать что-то вроде этого:
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]
Это позволит вам использовать переменную в другой функции или программе без использования глобальной переменной или встроенного return.