Python callable()函数用法实例分析
作者:快递小可 发布时间:2021-12-14 00:28:52
标签:Python,callable,函数
本文实例讲述了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


猜你喜欢
- asp.net的dropdownlist控件为我们的web应用提供了许多用处,但有一点我总感觉不爽的就是在使用dropdownlist的事件
- 我们在工作中时常会遇到一些客户的TPS\QPS都不太高,但磁盘占用非常大,一旦单实例空间太大,像内存、网络、CPU以及备份都将增加相应的开销
- 例如torch.nn.ReLU(inplace=True)inplace=True表示进行原地操作,对上一层传递下来的tensor直接进行修
- CPU-bound(计算密集型) 和I/O bound(I/O密集型)计算密集型任务(CPU-bound) 的特点是要进行大量的计算,占据着
- 关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通
- 目录1. python内置方法(read、readline、readlines)2. 内置模块(csv)3. 使用numpy库(loadtx
- 1.Jinja21.简介Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系
- 存储过程的优缺点: 存储过程优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProce
- 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
- 好的,现在来看如何生成FullPath: DECLARE @tbl TABLE ( Id int ,ParentId int ) INSER
- 注:本次实验的数据在文章最后面,我已上传至百度网盘一.json模块对数据进行处理 上面三个txt文本是这三个国家疫情爆发相关的数据
- MySQL使用limit进行分页select * from stu limit m,n; // m=(pageIndex-1)*pageSi
- 1.前言版本:Python3.6.1 + PyQt5 + SQL Server 2012以前一直觉得,机器学习、手写体识别这种程序都是很高大
- 使用xlrd模块和xlwt模块解题思想:xlwt模块是非追加写.xls的模块,所以要借助for循环和列表,来一次性写入,这样就没有追加与非追
- Flask-RESTful是一个用于快速创建RESTful API接口的Flask扩展。使用Flask-RESTful可以很快速方便地创建一
- 如何显示数据库的结构?<html><head><meta http-equiv="Cont
- 前言作为一个pythoner ,包的安装时必须懂的,这个语言跟matlab很类似,开源、共享,只要你有好的方法,都可以作为一个库,供大家下载
- length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回
- 装tensorflow-gpu的时候经常遇到问题,自己装过几次,经常遇到相同或者类似的问题,所以打算记录一下,也希望对其他人有所帮助基本信息
- 性能监控一、web项目(如gin中)1.使用ginpprofimport "github.com/DeanThompson/gin