当你实例化一个对象时,Python做了什么?
在 Python 中实例化一个对象时,解释器首先查找该对象的类,并创建该类的一个新实例。这涉及到为新对象保留一块内存,并初始化其属性。
初始化时会调用类的 __init__() 方法,该方法负责设置对象属性的初始值。当使用语法 ClassName() 创建对象的新实例时,此方法将自动调用。
例如,假设有一个名为 Person 的类,它有两个属性:name 和 age。当使用语法 person = Person() 创建此类的新实例时,解释器将为新的 Person 对象分配内存,并调用 __init__() 方法来初始化其属性。
以下是 Person 类和实例化的示例:
class Person:
def __init__(self, name, age):
print('called')
self.name = name
self.age = age
def print(self):
print(f'name: {self.name}, age: {self.age}')
def foo(self):
pass
person = Person("Alice", 25)
person.print()
在这个例子中,我们创建了一个名为 Alice"年龄为 25 的新 Person 对象。当 __init__() 方法被调用时,self.name 属性被设置为 Alice,self.age 属性被设置为 25。结果得到的 person 对象现在具有这些属性,并可以在程序中使用。