Python中__new__方法的作用,举例说明,简单易懂
举例
以人类、中国人为例:
# 定义一个大类,人类Person
class Person(): # 人类Person
def __init__(self,name):
self.name = name # 属性name:每个人都有自己的名字name
# 按国籍定义一个类,中国人Chinese
# 属性country:国籍,我们都是中国人
class Chinese(Person): # 中国人一定是人类,所以中国人是人类的子类
def __init__(self,name,color):
super(Chinese,self).__init__(name)
self.country = 'China' # 中国人的国籍是中国
if __name__ == '__main__':
# 现在有三个中国人的实例对象,tom、mike、cat,他们的肤色并不相同
Tom = Chinese('Tom','yellow') #黄皮肤中国人Tom
Jerry = Chinese('Mike','white') # 白皮肤中国人Jerry
Cat = Chinese('Cat','black') # 黑皮肤中国人Cat
print(type(Tom))
print(type(Jerry))
print(type(Cat))
输出:
他们都是中国人
<class '__main__.Chinese'>
<class '__main__.Chinese'>
<class '__main__.Chinese'>
现在,我需要根据肤色确定他们的人种,所以要先按人种定义三个新的类
# 按人种定义三个类:黄种人Yellow,白人White,黑人Black
# 独特的属性color:肤色,每个人种都有自己独特的肤色