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魔术方法以及原理详解”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- 蟹壳黄怎么做 蟹壳黄的制作方法
- Python抽象类有什么用?Python抽象类和普通类区别是什么
- 鸡柳怎么做辅食 鸡柳做辅食方法
- Python中基类是什么意思?Python基类和派生类关系是什么
- Python元类的概念是什么?Python中元类的作用是什么
- Python中xlwings库的功能是什么?Python中xlwings库的使用方法
- 怎么在Python中使用getopt函数?Python中getopt函数的用法详解
- Anaconda中如何安装第三方包?Windows下anaconda安装第三方包的方法
- 黄泥鸭蛋的腌制方法 黄泥鸭蛋的腌制方法简单介绍
- Python中的sys.argv是什么?详解Python中sys.argv使用方法