gpt4 book ai didi

Python属性

转载 作者:太空狗 更新时间:2023-10-29 20:40:11 25 4
gpt4 key购买 nike

给定以下代码,输出似乎有点可疑。为什么“进入基地”只打印一次?为什么根本不打印“set in Base”?实际的获取/设置似乎工作正常。我错过了什么?

class Base:
def __init__(self):
self.s = "BaseStr"

def getstr(self):
print "get in Base"
return self.s
def setstr(self, s):
print "set in Base"
self.s = s
str = property(getstr, setstr)

b = Base()
print b.str
b.str = "Foo"
print b.str

输出:

get in Base
BaseStr
Foo

最佳答案

您需要使用 new-style classes使属性正常工作。为此,从 object 派生您的类:

class Base(object):
...

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

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