【Python 高级】成员修饰符
成员修饰符
#!/usr/bin/env Python3
# -*- coding: utf-8 -*-
# @Software: PyCharm
# @virtualenv:workon
# @contact: 1040691703@qq.com
# @Desc:Code descripton
__author__ = '未昔/AngelFate'
__date__ = '2020/5/31 22:04'
class a: # 说明父类的私有成员无法在子类中继承
def __init__(self):
self.ge = 123
self.__gene = 456
class b(a):
def __init__(self, name):
self.name = name
self.__age = 18
super(b, self).__init__() # 这一行会报错
def show(self):
print(self.name)
print(self.__age)
print(self.ge)
print(self.__gene) # 这一行也会报错
obj = b("wangwei")
print(obj.name)
print(obj.ge)
# print(obj.__gene) # 这个也会报错
obj.show()
类的对象如果想要变成一个可迭代对象,那么对象中必须要有 __iter__ 方法,并且这个方法返回的是一个迭代器。
for 循环的对象如果是一个可迭代的对象,那么会先执行对象中的 __iter__ 方法,获取到迭代器,然后再执行迭代器中的 __next__ 方法获取数据。如果 for 循环的是一个迭代器,那么直接执行迭代器中的 __next__ 方法。