Python中__call__用法实例


Posted in Python onAugust 29, 2014

本文实例讲述了Python中__call__的用法,分享给大家供大家参考之用。具体方法如下:

先来看看如下示例代码:

#call.py 一个class被载入的情况下。
class Next:
  List = []
  
  def __init__(self,low,high) :
    for Num in range(low,high) :
      self.List.append(Num ** 2)
  
  def __call__(self,Nu):
    return self.List[Nu]

如果 这样使用:

b = Next(1,7)
print b.List
print b(2)

那么回馈很正常:

[1, 4, 9, 16, 25, 36]
9

但如果这样使用:

b = Next
b(1,7)
print b.List
print b(2)
$python ./call.py
[1, 4, 9, 16, 25, 36]

Traceback (most recent call last):
 File "cal.py", line 17, in <module>
  print b(2) 
TypeError: __init__() takes exactly 3 arguments (2 given)

__init__是初始化函数,在生成类的实例时执行。

而__call__是模拟()的调用,需要在实例上应用,因此这个实例自然是已经执行过__init__了。

你所举的后面那个例子:

b = Next

这并不是创建实例,而是将class赋给一个变量。因此后面使用b进行的操作都是对Next类的操作,那么其实就是:

Next(1,7)
print Next.List
print Next(2)

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

Python 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python input函数使用实例解析
Nov 22 Python
openCV提取图像中的矩形区域
Jul 21 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
python 操作excel表格的方法
Dec 05 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 Python
python进阶教程之词典、字典、dict
Aug 29 #Python
python字符串排序方法
Aug 29 #Python
python基础教程之对象和类的实际运用
Aug 29 #Python
python基础教程之面向对象的一些概念
Aug 29 #Python
初学Python实用技巧两则
Aug 29 #Python
python基础教程之自定义函数介绍
Aug 29 #Python
python爬虫常用的模块分析
Aug 29 #Python
You might like
php实现简单爬虫的开发
2016/03/28 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python for 循环获取index索引的方法
2019/02/01 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
python处理大日志文件
2019/07/23 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
django配置app中的静态文件步骤
2020/03/27 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
幼儿园保育员辞职信
2014/01/12 职场文书
房产公证书范本
2014/04/10 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
Python Matplotlib库实现画局部图
2021/11/17 Python