【干货】5个示例让你深度度理解Python的init方法

__init__方法是 Python 中的一个特殊函数,用于在创建对象时对其进行初始化。它允许设置对象的初始状态或属性。

__init__用于确保当从类创建对象时(例如从蓝图创建玩具或汽车),它从正确的特征或属性开始。这就像从创建玩具的那一刻起就确保您的玩具具有正确的颜色或车具有正确的品牌和型号。

__init__方法对于在 Python 中设置对象的初始条件至关重要,确保它们以正确的值开始。

下面通过以下 5 个示例深入探讨 Python init 方法:

示例 1:最简单的使用__init__

class  Toy : 
    def  __init__ ( self ): 
        self.color = "red"

 my_toy = Toy() 
print (my_toy.color) # 输出 = red

在此代码块中:

  • 想象一下有一个神奇的玩具(Python 类),每个神奇的玩具都有一个颜色(属性)。在这种情况下,玩具始终是红色的(属性值)。
  • 当创建一个新的魔法玩具(my_toy)时,它会因为__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 = 颜色
        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()   # 没有给出特定的颜色或尺寸
my_toy2 = Toy( "blue" )   # 仅指定颜色

print (my_toy1.color, my_toy1.size) 
print (my_toy2.color, my_toy2.size)

在此代码块中:

  • 我们的神奇玩具可以有颜色(“红色”)和尺寸(“中”)的默认值。
  • 当我们创建一个新的魔法玩具 ( my_toy1) 而不告诉它任何内容时,由于默认设置,它会变成红色且中等大小。
  • 当我们创建另一个神奇玩具 ( my_toy2) 并只告诉它颜色(“蓝色”)时,它会变成蓝色,但仍然是中等大小,因为我们没有说明任何有关大小的信息。

示例 5:使用复杂对象进行初始化

class  Car : 
    def  __init__ ( self, make, model,year, color= "white" ): 
        self.make = make 
        self.model = 型号
        self.year = 年
        self.color = color 

my_car = Car( "丰田" , "凯美瑞" , 2023 ) 
print ( f"我的车是{my_car.year}  {my_car.make}  {my_car.model} in {my_car.color}。" )

在此代码块中:

  • 现在,我们正在创造一辆神奇的汽车,而不仅仅是一个玩具。我们的汽车有很多信息,例如品牌(“丰田”)、型号(“凯美瑞”)、年份(2023)和颜色(默认为“白色”)。
  • 当我们创建汽车时 ( my_car),我们会告诉它所有这些细节。
  • 因此,当我们向我们的汽车询问其自身情况时,它会自豪地说:“我的汽车是一辆 2023 款白色丰田凯美瑞。”