Pythonのクラス__init__()関数の内外の変数を説明します。
Pythonのクラス__init__関数の外側のすべての変数はクラス変数であり、同じ内部の変数はインスタンス変数です。クラス変数とインスタンス変数の違いは、以下のコードを調べることでよりよく理解できます
class MyClass: stat_elem = 456 def __init__(self): self.object_elem = 789 c1 = MyClass() c2 = MyClass() # Initial values of both elements >>> print c1.stat_elem, c1.object_elem 456 789 >>> print c2.stat_elem, c2.object_elem 456 789 # Let's try changing the static element MyClass.static_elem = 888 >>> print c1.stat_elem, c1.object_elem 888 789 >>> print c2.stat_elem, c2.object_elem 888 789 # Now, let's try changing the object element c1.object_elem = 777 >>> print c1.stat_elem, c1.object_elem 888 777 >>> print c2.stat_elem, c2.object_elem 888 789
-
Pythonの名前空間と変数のスコープを説明します。
名前空間は、スコープを実装する方法です。 Pythonでは、各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。それを「評価コンテキスト」と考えてください。関数などの実行が終了すると、名前空間は削除されます。変数は削除されます。さらに、名前がローカル名前空間にない場合に使用されるグローバル名前空間があります。 各変数名はローカル名前空間(関数の本体、モジュールなど)でチェックされ、次にグローバル名前空間でチェックされます。 変数は通
-
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