1、__init__方法是面向对象编程中,给未来创建的对象所定义的初始化属性。当对象一旦被创建,Python将会自动调用__init__方法,里面的属性将会赋予这个对象
class Teacher(object):
def __init__(self,name,age):
self.name = name
self.age = age
t1 = Teacher('zs',30)
在上面的代码中,定义Teacher类时,利用__init__方法设置了姓名和年龄的属性。当创建对象t1时,通过传参即可完成其初始化
2、__init__是属于Python中的魔法方法。所谓魔法方法,即是Python中内置的、当进行特定操作时,会自动调用的方法,表现为方法名前后有两个下划线
3、__new__方法是将对象创建出来的方法。在实际运行中,先走__new__方法,生成对象并返回,后调用__init__方法,将对象的引用传给__init__方法中的self
lass Teacher(object):
def __init__(self):
print('__init__')
def __new__(cls,*args,**kwargs):
print('__new__')
return object.__new__(cls)
t1 = Teacher()
输出为
__new__
__init__
此处对__new__方法的讲解主要是用于说明对象创建的流程,这一方法也有其他的应用场景,待后面深入学习后再补充完善。