这篇文章主要介绍了什么是python的魔法方法?python魔法方法有哪些?具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让我带着大家一起了解一下吧。
魔法方法一听名字就觉得很神奇,其实它是一种在特殊情况下调用python函数的方法,你可以把它定义成你设定的行为,然后它会随着你的设定而自己发生改变。
介绍几个基本的魔法方法:
1、_ _init_ _()方法
这种办法方便在创建对象的时候,就顺便把一个对象的属性给设置,使用方法如下:
class 类名: #初始化方法,用来完成一些默认的设定 def __init__(): pass
_ _init_ _()方法的调用
class Car: def __init__(self): self.name = "奔驰" def move(): print("车在路上跑")
#创建一个对象对象
The_car = Car() print("这是一辆%s牌汽车"% The_car.name)
运行结果为:这是一辆奔驰牌汽车
从上面的代码中,可以看出当创建一个Car对象后,在没有调用__init__()方法的前提下,The_car就默认有了name属性为奔驰。
2、自定义_ _init_ _()方法
class Car: def __init__(self,newName,newColor): self.name = newName self.color = newColor def move(): print("车在路上跑")
#创建对象
The_car = Car("奔驰","白色") print("这是一辆%s牌汽车"% The_car .name) print("这辆汽车的颜色是%s"% The_car .color)
运行结果为:
这是一辆奔驰牌汽车
这辆汽车的颜色是白色
据上述代码可以看出,一个__init__()方法在创建对象时,不需要我们自己去调用默认,它将会自己调用。它有一个默认参数是self且作为第一个参数,如果在有两个参数的情况下,需要自己定义。默认的self参数,不需要自己手动传递对象,python解释器会自动将对象的引用上传。
3、_ _str_ _()方法
class Car: def __init__(self,newName,newColor): self.name = newName self.color = newColor def move(): print("车在路上跑") def __str__(self): msg = "我是一辆%s的%s牌汽车"%(self.color,self.name) return msg
#创建对象
The_car = Car("奔驰","白色") print(The_car)
运行结果为:我是一辆白色的奔驰牌汽车
上面的实例可以看出,通过"我是一辆%s的%s牌汽车",可以看出来它具有如果是 __xxx__() 的,那么就是相当于它是具有一定特殊的功能,因此叫做“魔法”方法。当使用print输出对象的时候,只要自己定了__str__()方法,那么就会打印这个方法中的return的数据。Self参数可以理解为自己,就是本身的意思。
有关“什么是python的魔法方法?python魔法方法有哪些?”的内容到这里就结束了,希望你能够认真阅读完这篇文章,同时也希望今天分享的“什么是python的魔法方法?python魔法方法有哪些?”这篇文章对大家有所帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!