DDR爱好者之家 Design By 杰米

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?