Python 2.7 @属性 用法导致错误"global name '_c__pro' is not defined"
Python 2.7 @property usage results in error "global name '_c__pro' is not defined"
我在 Python2.7 中写了一个简单的 class,它应该使用 @property
功能。
class c():
def __init__(self):
__pro = 1
@property
def pro(self):
return __pro *10
def setpro(self, x):
__pro = x
现在,当我从这个 class 创建对象并尝试访问 pro
属性 时,我收到以下错误:
>>> x = c()
>>> x.pro
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 7, in pro
NameError: global name '_c__pro' is not defined
请注意,整个内容都是在同一个 python 命令行会话中编写的,因此它应该与缺少导入或导入命名空间错误无关。
我在这里做错了什么?我必须如何重写它才能访问 属性 pro
?
访问成员变量时需要使用self.
:
def __init__(self):
self.__pro = 1
@property
def pro(self):
return self.__pro *10
我在 Python2.7 中写了一个简单的 class,它应该使用 @property
功能。
class c():
def __init__(self):
__pro = 1
@property
def pro(self):
return __pro *10
def setpro(self, x):
__pro = x
现在,当我从这个 class 创建对象并尝试访问 pro
属性 时,我收到以下错误:
>>> x = c()
>>> x.pro
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 7, in pro
NameError: global name '_c__pro' is not defined
请注意,整个内容都是在同一个 python 命令行会话中编写的,因此它应该与缺少导入或导入命名空间错误无关。
我在这里做错了什么?我必须如何重写它才能访问 属性 pro
?
访问成员变量时需要使用self.
:
def __init__(self):
self.__pro = 1
@property
def pro(self):
return self.__pro *10