[英]Python, scope of instance method variable in a class
從下面的 Python 片段代碼中,變量z
是method_1()
的本地變量,不應從此方法訪問它,但是如何從method_2()
訪問它?
如果我調用method_2()
它將打印 z 值。
class Test:
def __init__(self):
self.x=100
self.y=200
def method_1(self):
self.z=self.x+self.y # This variable has been created in method_1.
def method_2(self):
print("Z value from method_1:",self.z) # Accessing z value in method_2
t1=Test()
t1.method_1()
t1.method_2()
self
總是指 class 的實際實例。 因此,在您的情況下,即使您在方法中懶惰地在self
上聲明一個變量,在聲明它之后,它也可以被綁定到self
的任何方法訪問,即它們共享相同的 state。
Python 類中沒有本地實例 scope。
您可以在method_2
中訪問它,因為您在self
上定義了它。 這意味着它是一個實例變量,並且可以在該實例中訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.