Pythonの関数でグローバル変数を宣言するにはどうすればよいですか?
つまり、事前に宣言する必要はなく、関数の外部で使用できます。
そうだね。でも何で?
def a():
globals()['something'] = 'bob'
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
ビルトインを使用せずに、別の関数またはプログラムで変数を使用できます。