Python3内置函数汇总

目录

Python3 callable() 函数详解 判断对象是否为方法或类等可调用的

callable()函数的主要用途是判断一个对象是否为可调用的,如果是可用的,它将返回Ture。如果是不可用的,它将返回False。需要注意的是,即使返回Ture,仍然有可能无法调用(这样的情况不多,但需要注意)。但在返回False的情况下,一定是不可调用的。另外,在验证类实例化对象时,需要注意,如果类中未设置__call()__方法的话是会返回False的,而验证类本身是不受影响的。
它是Python的内置函数,在python文件中直接可以使用。

callable

语法

callable(o)

参数

o - 对象(大多数情况下用于检测是否为使用def声明的方法或者类以及类的方法)

返回值

对象可被调用返回True,否则返回False

实例

§ 实例1 - 方法

代码及运行结果:

#声明一个方法
>>> def run():
...     print('abc')
#验证方法是可用
>>> callable(run)
True
§ 实例2 - 类以及类成员方法

代码及运行结果:

#声明类
>>> class main():
        #声明类成员方法
...     def run(self):
...         print('abc')
...
#验证类
>>> callable(main)
True
#实例化类
>>> c = main()
#验证类成员方法
>>> callable(c.run)
True
§ 实例3 - 类的实例化对象

这是一个需要注意的事情,在验证类的实例化时,如果类中未设置__call__()方法,即使类存在也会返回False,而验证类本身不会出现这个问题。

代码及运行代码:

#声明类
>>> class main():
        #声明类成员方法
...     def run(self):
...         print('abc')
...
#验证类
>>> callable(main)
#验证类本身是没问题的
True
#实例化类
>>> c = main()
#验证实例化对象
>>> callable(c)
#因为上面的类没有设置__call__()方法。接下来我们重新声明类。
False

#新声明一个类,带有__call__()方法。
>>> class main():
...     def __call__(self):
...         return 123
...     def run(self):
...         print('abc')
...
#实例化类
>>> c = main()
#验证类的实例化对象
>>> callable(c)
True

如果有任何建议或意见,欢迎交流沟通

作者:张恺阳

本文链接:https://www.zky.name/article/15.html

来源:张恺阳博客