8
給出下面的代碼,輸出看起來有點可疑。爲什麼「進入基地」只打印一次?而且爲什麼不「打印在基地」呢?實際得到/設置似乎工作正常,但。我錯過了什麼?Python屬性
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
現貨,謝謝。 :) – Mizipzor 2010-01-23 23:29:14
而對於Python 3.x,則不需要這樣做。 Python3中的所有類都是新的風格。 – treecoder 2012-05-08 05:34:41
但是如果我沒有繼承'object',我仍然可以在經典類中創建'property',爲什麼? – Alcott 2012-05-12 07:56:47