簡體   English   中英

class 中的實例方法變量的 Python、scope

[英]Python, scope of instance method variable in a class

從下面的 Python 片段代碼中,變量zmethod_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM