python中__call__方法解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中__call__方法解析相关的知识,希望对你有一定的参考价值。

参考技术A __call__ 方法是python的魔术方法,就是增加一些特殊功能,我们来看看 __call__ 代表了什么意思?
python中所有的东西都被称为对象,对象分为可以被调用和不可以被调用
可调用对象:许多Python对象都是我们所说的可调用的,即是任何通过函数操作符 () 来调用的对象

1.例如函数
函数是对象,可以被调用

2.但是如果是类的话会发生什么情况呢?
Python给类提供了名为 __call__ 的特别方法,该方法允许程序员创建可调用的对象(实例)。默认情况下, __call__ 方法是没有实现的,这意味着大多数情况下实例是不可调用的。

如何解决这一个问题?这里就用到 __call__ 函数

以上说明 __call__

Python类__call__()方法

在python中,创建类型的时候定义了__call__()方法,那这个类型创建出来的实例就是可调用的。例def如:

class A(object):

  def __init__(self,name,age):

    self.name=name

    self.age=age

  def __call__(self):

    print("this is __call__ method")

a=A(‘gt‘,17)

a()------>this is __call__ method

以上是关于python中__call__方法解析的主要内容,如果未能解决你的问题,请参考以下文章

python特殊方法解析

python类中内置方法之__call__

python中__call__()方法的用法

Python3中__call__方法介绍

Python类__call__()方法

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法