“Python 可调用对象:基础和秘密”
Python 可调用对象:基础与秘密探秘
PYTHON PROGRAMMING
学习Python可调用对象的强大之处。
在编程语言中,可调用对象通常与函数相关联,并且有充分的理由。函数可能是可调用对象的最好例子,但它们并不是唯一的例子。在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中…