Kết quả đầu ra có vẻ hơi giống một chút với mã sau đây. Tại sao "in Base" chỉ in một lần? Và tại sao không phải là "thiết lập trong cơ sở" in ở tất cả? Việc nhận/cài đặt thực tế dường như hoạt động tốt. Tôi đang thiếu gì?Tài sản 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
Output:
get in Base
BaseStr
Foo
Phát hiện, cảm ơn bạn. :) – Mizipzor
Và, đối với Python 3.x, bạn không cần phải làm điều này. Tất cả các lớp trong Python3 là kiểu mới. – treecoder
Nhưng nếu tôi không phân lớp 'đối tượng', tôi vẫn có thể tạo' thuộc tính' trong lớp cổ điển, tại sao vậy? – Alcott