python 构造函数

在Python中,构造函数是一个特殊的方法,用于在创建类的实例(对象)时自动调用,以初始化对象的属性。构造函数在类中是通过__init__方法来定义的。它的主要作用是为新创建的对象设置初始状态,即初始化对象的属性。

以下是构造函数的几个关键点:

  1. 方法名称固定 :构造函数的名称必须是__init__,这是一种约定俗成的特殊方法名。
  2. 自动调用 :当创建类的实例时,__init__方法会自动被调用。
  3. 初始化属性 :通常在__init__方法中定义和初始化对象的属性。

让我们通过一个简单的例子来说明:

python 复制代码
class Person:
    def __init__(self, name, age):
        self.name = name  # 初始化name属性
        self.age = age    # 初始化age属性

# 创建Person类的实例
person1 = Person("Alice", 30)

# 访问实例的属性
print(person1.name)  # 输出: Alice
print(person1.age)   # 输出: 30
  • class Person: 定义了一个名为Person的类。
  • def __init__(self, name, age): 定义了Person类的构造函数,接受name和age两个参数。
  • self.name = name 和 self.age = age 在构造函数中,将传入的参数值赋给实例属性name和age。
  • person1 = Person("Alice", 30) 创建了一个Person类的实例,并自动调用构造函数进行初始化。

当我们创建person1实例时,构造函数__init__被自动调用,将name设置为"Alice",age设置为30。因此,我们可以通过访问实例属性person1.name和person1.age来获取这些值。

构造函数还可以接受默认参数,以便在实例化时不必提供所有参数:

python 复制代码
class Person:
    def __init__(self, name, age=25):
        self.name = name
        self.age = age

person2 = Person("Bob")  # 只传递name参数,age使用默认值
print(person2.name)  # 输出: Bob
print(person2.age)   # 输出: 25

age参数有一个默认值25,因此创建实例person2时只需要传递name参数。

相关推荐
鹤卿1233 分钟前
「iOS」GCD
开发语言·ios·objective-c
我是小白呀4 分钟前
编排还是事件协作?用 AcmeFlow 讲清企业 Workflow 的控制权
java·开发语言
ACP广源盛139246256737 分钟前
接口适配方案选型|GSV6125@ACP HDMI2.0 转 Type‑C/DP1.4 桥接芯片工程评估
大数据·c语言·开发语言·硬件架构·硬件工程·国产芯片
柒和远方18 分钟前
DocResearch 项目面试:把每个模块讲明白,而不是背术语
python·llm·agent
信誓旦旦的程序猿20 分钟前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api
小羊没烦恼!22 分钟前
【译】利用Asp.net MVC处理文件的上传下载
开发语言·缓存·c#·word·powerpoint·.net
LensonYuan28 分钟前
Cursor状态栏一键切换OpenAI API Key
人工智能·python·cursor
柒和远方29 分钟前
DocResearch 项目理解:从一条命令到一份有出处的报告
python·llm·agent
北冥有鱼被烹29 分钟前
NVIDIA DGX/HGX 服务器全景深度解析:从 H100 到 GB300,专业算力选型必读
运维·服务器·网络·python
时间的拾荒人30 分钟前
Qt 信号与槽机制详解(二):连接方式详解与面试指南
开发语言·qt·面试