Python中的7种可调用对象
2024-08-31 03:43:46
Python中有七种可调用对象,可调用对象可使用内置函数callable来检测
一、用户自定义的函数:
使用def语句或者lambda表达式创建的函数。
二、内置函数:
使用C语言实现的函数,如len、sum或者time.strftime
三、内置方法:
使用C语言实现的方法,如dict.get()
四、类方法:
在类的定义体中定义的函数
五、类:
在调用类时会运行类的__new__方法创建一个实例,然后运行__init__方法,初始化实例,最后把实例返回给调用方。Python中没有new运算符,所以调用类相当于调用函数。
六、类的实例:
如果类定义了__call__方法,那么它的实例可以作为函数进行调用。并且__call__方法可以进行自定义重写。
import random class BingoCage(object):
def __init__(self,items):
self._items=list(items)
random.shuffle(self._items) def pick(self):
try:
return self._items.pop()
except IndexError:
raise LookupError('pick from empty BingoCage') def __call__(self):
return self.pick()
七、生成器函数:
使用yield关键字的函数或方法。调用生成器函数返回的是生成器对象。
最新文章
- PHPExcel中文开发手册翻译版(1)
- get([index])
- IE10、IE11和Microsoft Edge的Hack
- Android签名机制
- NTKO控件在阅读PDF时,显示DEMO的问题
- jQuery Pagination分页插件的使用
- javamail 利用qq邮箱做邮箱服务器,简单小demo
- ASP.NET MVC view引入命名空间
- SQL获取本周销售总数
- CSS3系列:流式(弹性)布局(flex布局)
- C++ 我想这样用(六)
- WordPress ‘crypt_private()’方法远程拒绝服务漏洞
- DOM 样式操作
- Github创建分支
- 第2阶段——编写uboot之编译测试以及改进(3)
- Java点滴之Java概述
- 【转载】C# 获取系统时间及时间格式
- 我眼中的Linux系统和红帽RHCE认证
- orcl regexp_like 的用法
- Python MySQLdb模块连接操作mysql数据库实例_python
热门文章
- [LeetCode] Number of Lines To Write String 写字符串需要的行数
- ActivityRouter 框架简单实用
- 【Java算法學習】斐波那契數列問題-兔子產子經典問題
- 让Delphi的TRichEdit支持新标准
- [ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV
- 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
- Linux环境下虚拟环境virtualenv安装和使用
- C# DataGridView改变行颜色无效问题
- MySQL 允许局域网内其他网段主机访问本地MySql数据库
- linux 按文件大小排序