Python callable()函数用法实例分析

作者:快递小可 时间:2021-12-14 00:28:52 

本文实例讲述了Python callable()函数用法。分享给大家供大家参考,具体如下:

python中的内建函数callable( ) ,可以检查一个对象是否是可调用的

对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ 方法的类实例, 它都返回 True.


>>> help(callable)
Help on built-in function callable in module __builtin__:
callable(...)
callable(object) -> bool
Return whether the object is callable (i.e., some kind of function).
Note that classes are callable, as are instances with a __call__() method.

1》函数是可调用的


>>> def add(x,y):
...  return x+y
...
>>> callable(add)
True

2》类和类内的方法是可调用的


>>> class C:
...  def printf(self):
...   print 'This is class C!'
...
>>> objC=C()
>>> callable(C)#类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(C.printf)
True
>>> callable(objC.printf)
True

3》实现了__call__()方法的类实例是可调用的


>>> class A:
...  def printf(self):
...   print 'This is class A!'
...
>>> objA=A()
>>> callable(A) #类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(objA) #类A没有实现__call__()方法,因此,类A的实例是不可调用的
False
>>> class B:
...  def __call__(self):
...   print 'This is class B!'
...
>>> objB=B()
>>> callable(B) #类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(objB) #类B实现了__call__()方法,因此,类B实例是可调用的
True

4》lambda表达式是可调用的


>>> f=lambda x,y:x+y
>>> f(2,3)
5
>>> callable(f)
True

其它的,像整数,字符串,列表,元组,字典等等,都是不可调用的,如下:


>>> callable(2)
False
>>> callable('python')
False
>>> l=[1,2,3]
>>> callable(l)
False
>>> t=(4,5,6)
>>> callable(t)
False
>>> d={'a':1,'b':2}
>>> callable(d)
False

希望本文所述对大家Python程序设计有所帮助。

来源:http://blog.csdn.net/sxingming/article/details/51487986

标签:Python,callable,函数
0
投稿

猜你喜欢

  • Java连接MySQL数据库增删改查的通用方法(推荐)

    2024-01-22 12:00:36
  • 解析PHP中empty is_null和isset的测试

    2023-11-18 17:39:06
  • PyQt5+QtChart绘制散点图

    2023-02-27 01:50:43
  • GO语言原生实现文件上传功能

    2023-10-17 08:29:39
  • mysql Access denied for user ‘root’@’localhost’ (using password: YES)解决方法

    2024-01-25 01:01:49
  • Oracle表空间数据库文件收缩案例解析

    2024-01-13 02:07:34
  • 在python 中实现运行多条shell命令

    2023-07-30 10:40:11
  • Python判断变量是否是None写法代码实例

    2021-08-24 12:21:09
  • 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法

    2023-09-03 19:49:50
  • 基于wxpython开发的简单gui计算器实例

    2023-09-09 04:42:25
  • golang 跳出for循环操作

    2024-04-30 10:04:00
  • 基于go微服务效率工具goctl深度解析

    2023-07-12 03:57:13
  • Python大数据之使用lxml库解析html网页文件示例

    2022-05-10 11:06:53
  • Git 教程之工作区、暂存区和版本库详解

    2022-11-28 04:07:40
  • 如何使用Python标准库进行性能测试

    2023-04-27 07:48:52
  • JS使用ajax从xml文件动态获取数据显示的方法

    2024-04-19 10:06:36
  • Transact_SQL小手册,适合初学者

    2008-08-25 19:40:00
  • mybatis动态sql实现逻辑代码详解

    2024-01-13 05:13:04
  • tensorflow 中对数组元素的操作方法

    2022-01-22 11:35:37
  • python绘制柱形图的方法

    2022-03-07 07:36:06
  • asp之家 网络编程 m.aspxhome.com