【发布时间】:2021-02-20 02:31:13
【问题描述】:
class test: #1
def __init__(self): #2
self.abc = 123 #3
@property #4
def abc(self): #5
return self._abc #6
@abc.setter #7
def abc(self, value): #8
self._abc = value #9
@abc.deleter #10
def abc(self): #11
del self._abc #12
obj = test() #13
obj.abc = 456 #14
print(obj.abc) #15
class test: #1
def __init__(self): #2
self._abc = 123 #3
@property #4
def abc(self): #5
return self._abc #6
@abc.setter #7
def abc(self, value): #8
self._abc = value #9
@abc.deleter #10
def abc(self): #11
del self._abc #12
obj = test() #13
obj.abc = 456 #14
print(obj.abc) #15
init方法中的self._abc和self.abc有什么区别?
这两个程序的输出可能相同,但代码行为不同。
第一个程序运行:13-2-3-7-9-3-14-7-9-15-4-6
第二个程序运行:13-2-3-14-7-9-15-4-6
为什么?
【问题讨论】:
标签: python properties