这篇文章主要介绍了什么是python的魔法方法?python魔法方法有哪些?具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让我带着大家一起了解一下吧。

什么是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,转载请注明出处!