Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでクラススコープを持つグローバル変数を定義する適切な方法は何ですか?


次のコードは、クラススコープでのグローバル変数の使用を示しています。

class Foo(object):
    bar = 2
foo = Foo()
print Foo.bar,
print foo.bar,
# setting foo.bar would not change class attribute bar
# but will create it in the instance
foo.bar = 3
print Foo.bar,
print foo.bar,
# to change class attribute access it via class
Foo.bar = 4
print Foo.bar,
print foo.bar
を介してアクセスします。 出力
2 2 2 3 4 3

  1. Pythonグローバルインタープリターロック(GIL)とは何ですか

    この記事では、Pythonグローバルインタープリターロック(GIL)とは何ですか。 これは、Pythonインタープリターの可用性を複数のスレッドに同時に抵抗するロックまたは障害です。 GILは、Python3.xの障害/問題として識別されます。または、マルチスレッドアーキテクチャではマルチスレッドが許可されていないため、以前のバージョンです。 なぜ導入されたのですか? Pythonは、自動ガベージコレクションの概念をサポートしています。オブジェクトの参照カウントがゼロに達するとすぐに、メモリがクリーンアップされ、使用できるようになります。 >>> import sys &

  2. Pythonのグローバル変数とローカル変数の違いは何ですか?

    グローバル変数は、グローバルにアクセスできる変数です。ローカル変数は、単一の関数定義で使用される一時変数など、現在のスコープにのみアクセスできる変数です。 例 指定されたコード内 q = "I love coffee" # global variable def f():     p = "Me Tarzan, You Jane." # local variable     print p  f() print q 出力 出力は次のとおりです Me Tarzan, You Jane. I love cof