Python属性未设置
发布时间:2020-10-19 17:18:45 所属栏目:Python 来源:互联网
导读:这是代码: def Property(func): return property(**func())class A: def __init__(self, name): self._name = name @Property def name(): doc = As name de
|
这是代码: def Property(func):
return property(**func())
class A:
def __init__(self,name):
self._name = name
@Property
def name():
doc = 'A''s name'
def fget(self):
return self._name
def fset(self,val):
self._name = val
fdel = None
print locals()
return locals()
a = A('John')
print a.name
print a._name
a.name = 'Bob'
print a.name
print a._name
以上产生以下输出: {'doc': 'As name','fset': <function fset at 0x10b68e578>,'fdel': None,'fget': <function fget at 0x10b68ec08>}
John
John
Bob
John
代码取from here. 问题:怎么了?它应该是简单的东西,但我找不到它. 注意:我需要属性来进行复杂的获取/设置,而不是简单地隐藏属性. 提前致谢. 解决方法documentation forproperty()声明:
您的类不是新样式的类(您没有从对象继承).将类声明更改为: class A(object):
...
它应该按预期工作. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- python – 使用numpy将alpha通道添加到RGB数组
- version-control – 更改Mercurial中的目录结构
- python – 如何在seaborn的facetgrid中设置可读的
- python – 使用PyGtk时,GUI未从其他线程更新
- python – 在SQLAlchemy中动态设置__tablename__
- python逻辑运算(not,and,or)总结
- 为什么python设计为str(无)返回’None’而不是空
- python – 使用matplotlib示例时Django出错
- python – Pandas Dataframe查找所有列等于的行
- 如何在python中运行非线性回归
热点阅读
