python对象的创建是一个过程,其前提是类的创建(类:将具有共同特征以及行为的一组对象进行抽象,抽象出来的东西,描述一类事物的概念)而对象是实际存在的物体,包含了具体属性和方法的实体,这个事物是通过类创建创建出来的。
其过程是:
类的创建(class 类名)----------->变量的赋值(变量=类名(参数))-----------> 执行类的__new__方法创建对象---------->执行类的__init__方法初始化对象--------->将对象赋值给变量
代码示例如下:
class Person:
"""Person"""
def __new__(cls, *args, **kwargs):
print("new")
return object.__new__(cls)
def __init__(self, name):
self.name = name
print("hello")
person1=Person("Tom")
print(person1.name)
运行结果是:
new
hello
Tom
归纳总结:
1.类中__new__ 通常用于控制生成一个新实例的过程。它是类级别的方法。
2.类中__init__ 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。