Python 类的构造方法

视频版教程 Python3零基础7天入门实战视频教程

Python类里的 __init__方法就是类的构造方法,用作构造对象,同时还可以给对象初始化属性值用。

假如类里面没有写init构造方法,默认会提供一个空的构造方法。

我们写上空的init构造方法,再写个打印语句测试下:

python 复制代码
# 定义人类
class Person:
    # 属性 姓名
    name = None
    # 属性 年龄
    age = None

    def __init__(self):
        print("构造方法")

    # 成员方法 say  打印输出姓名和年龄
    def say(self):
        print(f"姓名:{self.name},年龄:{self.age}")

    def say2(self, msg):
        print(f"姓名:{self.name},年龄:{self.age},备注:{msg}")


# 创建一个对象 zhangsan
zhangsan = Person()
zhangsan.name = "张三"
zhangsan.age = 21
zhangsan.say()
zhangsan.say2("成年人")

# 在创建一个对象 lisi
lisi = Person()
lisi.name = "李四"
lisi.age = 12
lisi.say()
lisi.say2("未成年")

运行输出:

复制代码
构造方法
姓名:张三,年龄:21
姓名:张三,年龄:21,备注:成年人
构造方法
姓名:李四,年龄:12
姓名:李四,年龄:12,备注:未成年

说明 构造对象的时候,调用了init构造方法;

我们可以通过有参init构造方法,来初始化对象属性

python 复制代码
# 定义人类
class Person:
    # 属性 姓名
    name: None
    # 属性 年龄
    age: None

    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 成员方法 say  打印输出姓名和年龄
    def say(self):
        print(f"姓名:{self.name},年龄:{self.age}")

    def say2(self, msg):
        print(f"姓名:{self.name},年龄:{self.age},备注:{msg}")


# 创建一个对象 zhangsan
zhangsan = Person("张三", 21)
zhangsan.say()
zhangsan.say2("成年人")

# 在创建一个对象 lisi
lisi = Person("李四", 12)
lisi.say()
lisi.say2("未成年")
相关推荐
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
Linux_cy5 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12035 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami5 小时前
【无标题】
开发语言·python
CodeGL6 小时前
10、Python基础之进程和线程
开发语言·python
TechWayfarer7 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
2601_967980117 小时前
Python列表操作方法详解
python·数据类型·修改·列表操作·功能汇总
Patrick在香港8 小时前
台风在变少,来香港的没有
python·数据分析·香港·开放数据·热带气旋
qq_406981038 小时前
大白话rust系列09 函数调用两次有什么错?
开发语言·python·rust
benchmark_cc9 小时前
QuantDash 安装成功后,如何验证 Python 环境可以正常导入 SDK?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash