python魔法函数作用 python3魔法方法

Python魔法函数(特殊函数) Python中如何实现运算符的重载 , 即实现例如a+b这样的运算符操作呢?
在C++中可以使用 operator 关键字实现运算符的重载 。但是在Python中没有类似这样的关键字,所以要实现运算符的重载 , 就要用到Python的魔法函数 。Python魔法函数是以双下划线开头,双下划线结尾的一组函数 。我们在类定义中最常用到的 __init__ 函数就是这样一个魔法函数,它在创建类对象时被自动调用 。
下面我们来看个简单的例子 。
上述代码示例了几个魔法函数的用法 。__add__函数对应了二元运算符+,当执行a+b语句时,python就会自动调用a.add(b) 。对于上述例子中的v1+v2+v3,则相当于调用了(v1.add(v2)).add(v3) 。
代码中还有一个在Python类定义经常使用的__str__函数,当使用str()时会被调用 。print函数对传入的参数都调用了str()将其转换成易读的字符串形式,便于打印输出,因而会调用类定义的__str__函数打出自定义的字符串 。
代码中还有一个特殊的__call__函数,该函数在将对象采用函数调用方式使用时被调用, 例如v1()相当于v1.call() 。

输出结果为:
上述结果中形式为‘__函数名__’的函数为魔法函数,注意有些对象也是这种形式,例如__class__, __module__等, 这些不是魔法函数 。具体的魔法函数说明可以参考Python官方说明文档 。
以上代码在Python3.6运行通过.
python函数的作用python函数的作用是:
1、函数其实是把某个功能的代码封装到一个代码块中,用来为某个重复使用的功能做调用的一个代码块,可以称为一个函数的代码封装 。可以在自定义函数的小括号中传入多个参数 。
2、形参:在定义函数时,小括号中的参数名称 。实参:在函数名称的小括号中,传入实际的值代替了形参的这个值 。函数可以有返回值(使用return进行返回) , 也可以没有返回值 。
3、形参可以当做函数内部的一个变量使用,往往只在函数内部进行使用,不影响函数外部的相同名称的变量 。
4、在函数内部可以返回某个值 。直接在函数内部退出来 , 而不再继续执行函数下面的代码 。
更多关于python函数的作用,进入:查看更多内容
_是什么意思__init__属于魔法函数的一种python魔法函数作用,让我们来看一下它的前世今生吧 。后面介绍了其python魔法函数作用他的魔法函数:__ str__()、__ new__()、__ unicode__()、__ call__()、__ len__()、__repr__()等等
所谓魔法函数(Magic Methods),是Python的一种高级语法,允许你在类中自定义函数(函数名格式一般为__xx__),并绑定到类的特殊方法中 。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果 。在我们平时的使用中,可能经常使用__init__函数(构造函数)和__del__函数(析构函数),其实这也是魔法函数的一种 。
Python中以双下划线(__xx__)开始和结束的函数(不可自己定义)为魔法函数 。
调用类实例化的对象的方法时自动调用魔法函数 。
在自己定义的类中,可以实现之前的内置函数 。
python中的__str__函数作用__str__方法:总结
在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法 , 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
例子1:如:
class Car:
def __init__(self, newWheelNum, newColor):

推荐阅读