定义类;定义一个生成器函数生成1-10

 一:

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

おすすめ

転載: blog.csdn.net/weixin_59280309/article/details/120804185