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("未成年")
相关推荐
郭老二5 小时前
【Python】基本语法:装饰器语法糖@
python
_Jimmy_6 小时前
Agent常用检索器的详细介绍
python·langchain
小柯南敲键盘7 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
旅僧7 小时前
Q-learning(自用)
python·机器学习
Python大数据分析@7 小时前
曝梁文锋称「一度不想维护C端用户,奈何赶不走」,DeepSeek真不需要C端用户吗?可能会有啥影响吗?
python
艾斯特_9 小时前
工作流与多Agent协作:LangGraph、MCP和A2A的应用分层
人工智能·python·ai
IT小盘9 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
我叫黑大帅9 小时前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
不如语冰9 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
柠檬味的Cat9 小时前
GEO优化系统哪个渠道商好
大数据·人工智能·python