多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 构造函数 > 原文: [https://pythonbasics.org/constructor/](https://pythonbasics.org/constructor/) 构造函数是在创建对象时调用的方法。 此方法在类中定义,可用于初始化基本变量。 如果创建四个对象,则类构造函数将被调用四次。 每个类都有一个构造函数,但是不需要显式定义它。 ## 示例 ### 构造函数 每次创建对象时,都会调用一个方法。 该方法称为**构造函数**。 构造函数是使用函数`__init__`创建的。 作为参数,我们编写了`self`关键字,它引用了自身(对象)。 从视觉上看,该过程是: ![constructor](https://img.kancloud.cn/f4/1f/f41ffe2b342c4efe9c96a37dfb333329_700x77.jpg) 在构造函数内部,我们初始化两个变量:腿和手臂。 有时,在面向对象编程的上下文中,变量被称为属性。 我们创建一个对象(`bob`),仅通过创建它,即可初始化其变量。 ```py class Human: def __init__(self): self.legs = 2 self.arms = 2 bob = Human() print(bob.legs) ``` 现在,新创建的对象已设置了变量,而无需手动定义它们。 您可以创建数十或数百个对象,而不必每次都设置值。 ### python `__init__` 函数`__init__(self)`将构建您的对象。 它不仅是您可以在此处设置的变量,还可以调用类方法。 初始化对象所需的一切。 假设您有一个“飞机”类,该飞机一经创建便应开始飞行。 起飞涉及许多步骤:加速,更换襟翼,关闭车轮等。 可以在方法中定义默认操作。 这些方法可以在构造函数中调用。 ```py 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() ``` 总结一下:如果创建对象,则会调用构造函数。 在构造函数中,您可以设置变量和调用方法。 ### 默认值 一个类的构造函数是唯一的:从不同的类初始化对象将调用不同的构造函数。 可以在构造函数中设置新创建对象的默认值。 下面的示例显示了两个带有构造函数的类。 然后创建两个对象,但调用不同的构造函数。 ```py 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) ``` 但是从一个类创建多个对象将调用相同的构造函数。 ## 练习 请尝试以下练习: 1. 制作两个其他对象 2. 添加另一个变量并将其初始化 [下载答案](https://gum.co/HhgpI)