构造函数是在创建对象时调用的方法。 此方法在类中定义,可用于初始化基本变量。
如果创建四个对象,则类构造函数将被调用四次。 每个类都有一个构造函数,但是不需要显式定义它。
示例
构造函数
每次创建对象时,都会调用一个方法。 该方法称为构造函数。
构造函数是使用函数__init__
创建的。 作为参数,我们编写了self
关键字,它引用了自身(对象)。 从视觉上看,该过程是:
在构造函数内部,我们初始化两个变量:腿和手臂。 有时,在面向对象编程的上下文中,变量被称为属性。 我们创建一个对象(bob
),仅通过创建它,即可初始化其变量。
class Human:
def __init__(self):
self.legs = 2
self.arms = 2
bob = Human()
print(bob.legs)
现在,新创建的对象已设置了变量,而无需手动定义它们。 您可以创建数十或数百个对象,而不必每次都设置值。
python __init__
函数__init__(self)
将构建您的对象。 它不仅是您可以在此处设置的变量,还可以调用类方法。 初始化对象所需的一切。
假设您有一个“飞机”类,该飞机一经创建便应开始飞行。 起飞涉及许多步骤:加速,更换襟翼,关闭车轮等。
可以在方法中定义默认操作。 这些方法可以在构造函数中调用。
class Plane:
def __init__(self):
self.wings = 2
# fly
self.drive()
self.flaps()
self.wheels()
def drive(self):
print('Accelerating')
def flaps(self):
print('Changing flaps')
def wheels(self):
print('Closing wheels')
ba = Plane()
总结一下:如果创建对象,则会调用构造函数。 在构造函数中,您可以设置变量和调用方法。
默认值
一个类的构造函数是唯一的:从不同的类初始化对象将调用不同的构造函数。
可以在构造函数中设置新创建对象的默认值。
下面的示例显示了两个带有构造函数的类。 然后创建两个对象,但调用不同的构造函数。
class Bug:
def __init__(self):
self.wings = 4
class Human:
def __init__(self):
self.legs = 2
self.arms = 2
bob = Human()
tom = Bug()
print(tom.wings)
print(bob.arms)
但是从一个类创建多个对象将调用相同的构造函数。
练习
请尝试以下练习:
- 制作两个其他对象
- 添加另一个变量并将其初始化