49

Pythonの関数でグローバル変数を宣言するにはどうすればよいですか?

つまり、事前に宣言する必要はありませんが、関数の外部で使用できます。

4

2 に答える 2

43

そうだね。でも何で?

def a():
    globals()['something'] = 'bob'
于 2012-11-29T14:24:28.803 に答える
19
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これにより、グローバル変数や組み込み変数を使用せずに、別の関数またはプログラムで変数を使用できるようになります。

于 2012-11-29T14:30:36.043 に答える