gpt4 book ai didi

Python 属性未设置

转载 作者:太空狗 更新时间:2023-10-29 22:23:24 24 4
gpt4 key购买 nike

代码如下:

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 for property()状态:

Return a property attribute for new-style classes (classes that derive from object).

您的类不是新式类(您没有从对象继承)。将类声明更改为:

class A(object):
...

它应该按预期工作。

关于Python 属性未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com