pau*_*are 5 python variables module class double-underscore
如果没有 cls.txt,为什么这段代码会失败?在 __TEXT 之前
__TEXT = "abcde"
print(__TEXT)
class aaa():
@classmethod
def bbb(cls):
print(__TEXT)
aaa.bbb()
Run Code Online (Sandbox Code Playgroud)
输出是:
abcde
Traceback (most recent call last):
File "<string>", line 9, in <module>
File "<string>", line 7, in bbb
NameError: name '_aaa__TEXT' is not defined
Run Code Online (Sandbox Code Playgroud)
如果将 __TEXT 设为类变量并尝试在不使用类前缀的情况下引用它,如下所示:
class aaa():
__TEXT = "abcde"
@classmethod
def bbb(cls):
print(cls.__TEXT)
print(__TEXT)
x = aaa()
x.bbb()
Run Code Online (Sandbox Code Playgroud)
你会得到同样的错误,但它没有意义:
abcde
Traceback (most recent call last):
File "<string>", line 10, in <module>
File "<string>", line 7, in bbb
NameError: name '_aaa__TEXT' is not defined
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |