python魔法函数是什么,python中的魔术方法
_ _init_ _()方法
在前面的演示中,我们已经为BMW对象添加了一个属性名。想象一下,如果再创建一个对象,肯定需要添加属性。显然,这是很麻烦的。在创建对象时,有什么方法可以设置汽车对象的属性?
答案是:_ _init_ _()方法
1、使用方法
类名:
#初始化方法,用于完成一些默认设置
def__init__():
2.调用pass2 _ _init_ _()方法
classCar:
def__init__(self):
Self.name=宝马
defmove():
打印(“汽车正在运行”)
#创建一个对象
宝马=汽车()
Print(这是一辆%s汽车 %bmw.name )运行如下:这是一辆宝马汽车。
注意:在创建Car对象时,bmw默认会有name属性BMW,不需要调用__init__()方法。
相关:《Python视频教程》
3.自定义_ _init_ _()方法
classCar:
def__init__(self,newName,newColor):
self.name=newName
self.color=newColor
defmove():
打印(“汽车正在运行”)
#创建一个对象
宝马=汽车(宝马,黑色)
打印(这是一辆%s汽车 %bmw.name )
Print(此车颜色为%s%bmw.color)运行结果为:
这是一辆宝马汽车。
这辆车的颜色是黑色说明:.
__init__()方法,默认情况下在创建对象时调用,不需要手动调用。
__init__()方法默认情况下有一个名为self的参数。如果创建对象时需要传递两个参数,那么__init__()中的self除了第一个参数之外还需要两个参数,比如__init__(self,x,y)。
__init__()方法,即中的self参数,不需要由开发人员传递。python解释器会自动传入当前对象的引用。
_ _str_ _()方法
classCar:
def__init__(self,newName,newColor):
self.name=newName
self.color=newColor
defmove():
打印(“汽车正在运行”)
def__str__(self):
Msg=您好,我是%s %(self.color,self.name)的%s品牌汽车
returnmsg
#创建一个对象
宝马=汽车(宝马,黑色)
print(宝马)的运行结果是:你好,我是黑色宝马车。
说明:
在python中,如果中文法名是__XXX__(),那么它有一个特殊的功能,所以被称为“魔”法。
使用print输出对象时,只要设置了__str__()方法,就会打印出该方法中的返回数据。
self
所谓自我,可以理解为自我。
Self在C或Java中可以理解为这个指针,意思是对象本身。
当一个对象调用__init__()方法时,python解释器会将这个对象作为第一个参数传递给self,所以开发者只需要传递以下参数。
相关建议:
Python中的类和对象是什么
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。