グローバルについての小さな質問。私は次のコードを持っています:
counter = 0
class A():
global counter
def connect():
counter += 1
print("Opening connection",counter)
# DO STUFF
def disconnect():
counter -= 1
print("Closing connection",counter)
# DO STUFF
接続または切断するたびに、開いている接続の数を知りたいですcounter
(1つのインスタンスだけでなく、すべてのインスタンスについて、静的である必要があります)。しかし、コードを実行すると、次のようになります。
local variable 'counter' referenced before assignment
何故ですか?それA()
がmain
。以外のファイルにあると考えてください。
コメントで述べたように、global
宣言は関数またはメソッドでのみ機能します。
counter = 0
class A():
def connect():
global counter
counter += 1
print("Opening connection",counter)
# DO STUFF
def disconnect():
global counter
counter -= 1
print("Closing connection",counter)
# DO STUFF
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加