“Python 可调用对象:基础和秘密”

Python 可调用对象:基础与秘密探秘

PYTHON PROGRAMMING

学习Python可调用对象的强大之处。

在Python中,有很多可调用对象可供选择。图片由Pavan Trikutam在Unsplash上摄影

在编程语言中,可调用对象通常与函数相关联,并且有充分的理由。函数可能是可调用对象的最好例子,但它们并不是唯一的例子。在Python中,还有许多其他可调用类型,它们非常有用和强大。您还可以创建自己的可调用对象。本文涵盖了这两个方面。

可调用对象是可以使用一对括号调用的对象,例如下面的例子,我们使用内置函数sum()

>>> sum([1, 1, 1])3

对可调用对象的调用,根据其定义,可以是:

  • 没有任何参数,如no_args_callable()
  • 或一系列位置参数和/或关键字参数,如args_callable(arg1, arg2)args_callable(arg1, arg2=value2)args_callable(arg1=value1, arg2=value2)

上面,我将可调用对象描述为名词。然而,可调用也被用作形容词,意味着具有可调用性。因此,可调用与可调用对象是相同的。

Python有一个内置函数callable(),用于检查对象是否可调用,或者换句话说,是否是可调用对象。考虑以下实际可调用对象的示例:

>>> callable(lambda x: x + 1)True>>> callable(print)True>>> def foo(): ...>>> callable(foo)True

下面的对象不是可调用的:

>>> callable(None)False>>> callable(10)False>>> callable("hello")False

上面的正面例子是关于函数的,大多数人与可调用对象关联起来的就是函数。然而,实际上,每个Python类都是可调用的。如果您了解Python中的面向对象编程的基础知识,您就知道要创建一个类的实例,您需要执行以下操作:

>>> class Empty: ...

这看起来就像是一个调用,并且确实是这样的-这就是Python类是可调用的原因。

这段代码显示了Empty类是可调用的,但事实上,每个Python类都是可调用的。然而,在Python中…