网站首页 > 技术教程 正文
__init__方法是 Python 中的一个特殊函数,用于在创建对象时初始化对象。 允许您设置对象的初始状态或属性。
__init__用于确保从类创建对象时(例如从蓝图创建玩具或汽车),它从正确的特征或属性开始。这就像从你创造它的那一刻起,就确保你的玩具是正确的颜色,或者你的汽车有正确的品牌和型号。
__init__方法对于在 Python 中设置对象的初始条件至关重要,确保它们以正确的值开始。
示例 1:最简单的使用__init__
class Toy:
def __init__(self):
self.color = "red"
my_toy = Toy()
print(my_toy.color) # output = red
在此代码块中:
- 想象一下,有一个魔法玩具(Python 类),每个魔法玩具都有一种颜色(属性)。在这种情况下,玩具始终是红色的(属性值)。
- 当我们创建一个新的魔法玩具my_to时,它会因为魔法。__init__而自动变成红色
示例 2:使用参数__init__
class Toy:
def __init__(self, color):
self.color = color
my_toy = Toy("blue")
print(my_toy.color)
在此代码块中:
- 现在,神奇玩具可以是喜欢的任何颜色,而不仅仅是红色。当创建它时,可以告诉它你想要什么颜色。
- 在这里,我们制作了一个新的魔法玩具my_toy,并设置它是“蓝色的”。
示例 3:具有多个参数的 init
class Toy:
def __init__(self, color, size):
self.color = color
self.size = size
my_toy = Toy("green", "small")
print(my_toy.color)
print(my_toy.size)
在此代码块中:
- 神奇玩具有两件重要的事情:颜色和尺寸。
- 当创造一个新的魔法玩具my_toy时,我们会告诉它颜色(“绿色”)和大小(“小”)。
- 所以,当我们问我们的玩具关于这些东西时,它告诉我们它是“绿色的”和“小的”。
示例 4:使用默认值初始化
class Toy:
def __init__(self, color="red", size="medium"):
self.color = color
self.size = size
my_toy1 = Toy() # No specific color or size given
my_toy2 = Toy("blue") # Only color is specified
print(my_toy1.color, my_toy1.size)
print(my_toy2.color, my_toy2.size)
在此代码块中:
- 我们的神奇玩具可以有颜色(“红色”)和大小(“中等”)的默认值。
- 当我们在不告诉它任何事情的情况下创建一个新的魔法玩具my_toy1(,由于默认值,它会变成红色和中等大小。
- 当我们创造另一个神奇的玩具my_toy并且只告诉它颜色(“蓝色”)时,它会变成蓝色,但仍然中等大小,因为我们没有说任何关于大小的事情。
示例 5:使用复杂对象初始化
class Car:
def __init__(self, make, model, year, color="white"):
self.make = make
self.model = model
self.year = year
self.color = color
my_car = Car("Toyota", "Camry", 2023)
print(f"My car is a {my_car.year} {my_car.make} {my_car.model} in {my_car.color}.")
在此代码块中:
- 现在,正在创造一辆神奇的汽车,而不仅仅是一个玩具。车有很多东西,比如品牌(“Toyota")、型号(“Camry”)、年份(2023 年)和颜色(默认为“白色”)。
- 当创建汽车my_car,会设置这些所有细节。
猜你喜欢
- 2025-07-02 解决Windows下linux子系统WSL无法使用reboot重启的问题
- 2025-07-02 【开源】基于 Vue 和 Gin 开发的前后端分离的开源框架
- 2025-07-02 全面解析 Linux 中的运行级别,从 SysV init 到 systemd
- 2025-07-02 Android 开机启动流程分析(06)init.rc解析流程
- 2025-07-02 399元,魅族推出智能手表inWatch(魅族的手表)
- 2025-07-02 Android 开机启动流程分析(01) init之前启动说明
- 2025-07-02 Android 开机启动流程分析(03)init启动关键进程uevent&watchdog
- 2025-07-02 SE宣布9月终止运营云端服务“DIVE IN”
- 2025-07-02 独家揭秘:InitVerse挖矿专用,火柴INIBOX参数首曝
- 2025-07-02 Android 开机启动流程分析(04)init启动中关键服务-属性服务
你 发表评论:
欢迎- 最近发表
-
- Android 16评测:热潮之后(16x安卓10)
- 新功能很赞!Android 7.0上手体验:系统巨流畅
- 解决Windows下linux子系统WSL无法使用reboot重启的问题
- Python 的 init 方法:深入对象初始化
- 【开源】基于 Vue 和 Gin 开发的前后端分离的开源框架
- 全面解析 Linux 中的运行级别,从 SysV init 到 systemd
- Android 开机启动流程分析(06)init.rc解析流程
- 399元,魅族推出智能手表inWatch(魅族的手表)
- Android 开机启动流程分析(01) init之前启动说明
- Android 开机启动流程分析(03)init启动关键进程uevent&watchdog
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)