本文部分内容参考借鉴https://blog.csdn.net/weixin_44831484/article/details/90339772该小哥博客,以及本文源自《编程小白的第1本python入门书》,(侯爵著)一书的部分内容。
_ init_()方法是initialize(初始化)的缩写, _ init_() 是“魔术方法”之一。如果在类里面定义了 _ init_ ()方法,那么在创建实例的时候,它可以帮我们自动处理很多事情,例如新增实例属性。上面的代码例子中,创建实例属性实在我们定义完类之后,当_init_()方法可以帮助我们一步到位:
class CocaCola():
formula = ["caffeine","sugar","water","soda"]
def __init__(self):
self.local_logo = "可口可乐" #创建实例属性,并进行赋值
def drink(self):
print("Energy!")
coke = CocaCola() #创建实例,coke等同于self
print(coke.local_logo)
#程序运行结果
可口可乐
class CocaCola:
formula = ["caffeine","sugar","water","soda"]
def __init__(self): #self相当于类的实例,直接可以类里面引用类的属性
for element in self.formula:
print("coke has {}".format(element))
def drink(self):
print("Energy!")
coke = CocaCola()
coke.drink()
#程序运行结果
coke has caffeine
coke has sugar
coke has water
coke has soda
Energy!
我们知道,定义函数以后,如不调用,并不会执行。但从上面这个例子我们可以看到,_ init _()方法无需调用,即可执行。
除了必写的参数之外,_ init_()方法还可以有其他的形参,和函数中的参数的用法完全相同。
class CocaCola:
formula = ["caffeine","sugar","water","soda"]
def __init__(self,logo_name):
self.local_logo = logo_name #创建实例属性,并赋予其变量
def drink(self):
print("Energy!")
coke =CocaCola("可口可乐") #可以认为_init_()方法的第一个参数为coke,第二个参数为"可口可乐"
print(coke.local_logo)
#程序运行结果
可口可乐
总结一下:
使用 _ init_()方法语法格式:
格式一(无形参):
def _ init_(self):
self.变量名1=值1
例:
class animal:
def __init__(self):
self.species = "dog"
self.age= 3
格式二(有形参):
def _ init_(self,行参1,行参二)
self.属性名1 = 形参1
self.属性名2 = 行参2
例:
class animal:
def __init__(self,species,age):
self._species = species
self._age = age
1、_ init_()方法在创建对象时被运行,无需调用即可执行
2、_ init_()方法如有行参,在创建时需出传递对应的实参
如有错误,敬请批评指正!谢谢!
来源:CSDN
作者:花落雨微扬
链接:https://blog.csdn.net/qq_43636375/article/details/104215054