Python魔术方法是什么?Python魔术方法以及原理详解

python之中定义在类里面的函数被称为方法 , 而类中方法有类方法、魔法方法、实例方法、静态方法等等区别 , 而前面几种方法在小编之前的文章中都有详细介绍 。那么本文所要来介绍的自然就是python魔术方法了 , 想了解学习的话就继续往下看看吧 。

Python魔术方法是什么?Python魔术方法以及原理详解

文章插图
一、python魔术方法概念
很多人都会将模式方法以及魔法方法给弄混 , 因为它们二者都会在方法前后加上两个下划线来标识 , 但其实有着根本性上的区别 。魔术方法简单来说 , 就是不需要手动调用就可以去执行的方法 ,  。魔术方法是在执行某些操作时 , 会自动去进行调用的 。
二、python魔术方法原理
python中最常用的魔术方法就是init , 它也被称为构造函数 , 因为在实例化类时会默认去调用它 , 详细代码示例如下所示:
class Mytest():  def __init__(self):    print("魔术方法__init__")Mytest()以上代码运行之后就会自动打印输出方法init之中print()函数里面的内容 , 因为执行了类实例化操作 , 所以魔术方法init()被默认引用了 。还有另外一个魔术方法为__call__ , 这个方法用来判断实例化之后的类对象是否可以去调用 , 它在类对象点方法或者属性时会默认调用 , 或者通过如下方式手动调用 , 示例如下所示:
class Demo:  def __call__(self, *args,**kwds):    print("__call__方法")print(callable(Demo))obj = Demo()obj()那么python魔术方法能够自动调用的原理就在于它们是被写在python底层代码之中的 , 所有的魔术方法都是固定存在且不可去自定义的 , 调用方式以及运行场景已经设计好了 。
【Python魔术方法是什么?Python魔术方法以及原理详解】以上就是关于“Python魔术方法是什么?Python魔术方法以及原理详解”的全部内容了 , 希望对你有所帮助 。

    推荐阅读