ホームページ  >  記事  >  バックエンド開発  >  Pythonでグローバル変数を使用する方法

Pythonでグローバル変数を使用する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-09-11 14:18:4033289ブラウズ

Python グローバル変数の使用: 1. グローバル変数を参照するには、コードは [if i in b:print("%d in list b" %i)]; 2. グローバル変数を変更するには、コードは [print "before func b:", b] です。

Pythonでグローバル変数を使用する方法

#Python グローバル変数の使用:

#1.引用## ※使用するグローバル変数はあくまで参照のため、関数内で値を変更しない場合はglobalキーワードを追加する必要はありません。例:

#! /usr/bin/python
a = 1
b = [2, 3]
def func():
    if a == 1:
        print("a: %d" %a)
    for i in range(4):
        if i in b:
            print("%d in list b" %i)
        else:
            print("%d not in list b" %i)
if __name__ == '__main__':
    func()

出力結果:

Pythonでグローバル変数を使用する方法リストと変数の両方を直接引用できることがわかります。

2.

で使用されるグローバル変数を変更します。関数内で変更する必要がある場合は、次のようなあいまいさの問題が発生します。

出力結果:

変数 a については、関数 func で「a = 2」であることがわかります。これは、存在するということは、グローバル変数 a を参照すること、またはグローバル変数 a を作成することを意味する可能性があるためです。 one 新しいローカル変数のあいまいさのため、Python はデフォルトでこのあいまいさを解消するために新しいローカル変数を作成するように指定しますが、リスト b の場合、「b[0] = 1」にはこのあいまいさがありません。 Pythonでグローバル変数を使用する方法

したがって、グローバル変数を直接変更することになりますが、「b = [3, 4]」に変更すると、bもローカル変数になります。特に、func の a = 2 の前にステートメント「if a == 1:」が追加されると、このステートメントでグローバル変数が導入されるため、スクリプトが誤って実行され、ステートメント「a = 1」で変数を作成できなくなります。同じ名前のローカル変数。

したがって、グローバル変数 a を変更する必要があります。次のように、「a = 2」の前にグローバル a ステートメントを追加できます。

#! /usr/bin/python
a = 1
b = [2, 3]
def func():
    a = 2
    print "in func a:", a
    b[0] = 1
    print "in func b:", b
if __name__ == '__main__':
    print "before func a:", a
    print "before func b:", b
    func()
    print "after func a:", a
    print "after func b:", b

出力結果:

結論: グローバル変数を参照する場合、グローバル ステートメントは必要ありません。グローバル変数を変更するには、グローバル ステートメントを使用する必要があります。特に要素の値を変更するだけの場合は、グローバル ステートメントを使用する必要があります。リストや辞書などでは、グローバル ステートメントを必要とせずにグローバル変数を直接使用できます。 Pythonでグローバル変数を使用する方法

以上がPythonでグローバル変数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。