Подтвердить что ты не робот

Можно ли определить глобальные переменные в функции в Python

Как объявить глобальную переменную в функции в Python?

То есть, чтобы он не был объявлен ранее, но может использоваться вне функции.

4b9b3361

Ответ 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.