一:
class Music:
def __init__(self, name, length_of_time):
self.name = name
self.length_of_time = length_of_time
self._singer = None
@property
def singer_attribute(self):
return self._singer
@singer_attribute.setter
def singer_attribute(self, value):
self._singer = value
@singer_attribute.deleter
def singer_attribute(self):
del self._singer
sing = Music("万疆", "3分54秒")
# 可以修改_命名的属性的值
sing.singer_attribute = "李玉刚"
# 删除_命名的属性
print(sing._singer)
del sing.singer_attribute
print(sing._singer)
结果:
D:\Python-interpreter\python.exe D:/Python-code/main.py
万疆
李玉刚
Traceback (most recent call last):
File "D:\Python-code\main.py", line 25, in <module>
print(sing._singer)
AttributeError: 'Music' object has no attribute '_singer'
Process finished with exit code 1
二:
class MyTterator:
def __init__(self, num):
self.num = num
self.cursor = 1
def __next__(self):
if self.cursor < self.num:
data = self.cursor
self.cursor += 1
return data
else:
raise StopIteration
def __iter__(self):
return self
for i in MyTterator(11):
print(i)
结果:
D:\Python-interpreter\python.exe D:/Python-code/main.py
1
2
3
4
5
6
7
8
9
10