开学了进入了实验室,需要协助大师兄做事,主要是OpenStack中的代码解析,但是涉及很多python高级用法,一时间有点麻烦,在做项目的同时慢慢更新博客。这次先写一下__call__的用法,因为经常看到它却不知道到底是干嘛的。

  通过查阅资料发现__call__实际上是将一个类重载了"()",也就是让一个类也可以像一个函数一样可以拿来调用了,说了也许还是不清晰,直接上例子。

#/usr/bin/env python
class test:
def __init__(self,a):
self.a = a
def __call__(self,b):
c = self.a+b
print c
def display(self):
print self.a Test = test("This is test!")
Test.display()
Test("##Append something")

输出结果:This is test!

       This is test!##Append something

可以看出首先__init__函数类似于构造函数一样初始化了self中的值,将a赋值为“This is test!”,接着我们直接调用实例名,这里就是__call__()起的作用了。

至于为什么要这样做,待我慢慢发现吧。

 

最新文章

  1. ubuntu修改163软件源
  2. 安卓学习----使用okHttp(POST方式)---登录
  3. NHibernate系列文章二十二:NHibernate查询之HQL查询(附程序下载)
  4. linux shell 多线程执行程序
  5. 3.12----对potplayer的使用评价
  6. hdu 1805Expressions(二叉树构造的后缀表达式)
  7. list集合的遍历3种方法
  8. n阶行列式计算----c语言实现(完结)
  9. CentOS下实用的网络管理工具
  10. Angel - 模拟Kafka数据流调试FTRL的方法
  11. Linux 快速删除已输入的命令
  12. 马虎的算式|2013年蓝桥杯B组题解析第二题-fishers
  13. Dev TextEdit 输入提示
  14. 5,注释、分支结构、循环结构、伪“选择结构”
  15. angular之service、factory预provider区别
  16. 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0
  17. Hashtable、HashMap、TreeMap心得
  18. Elementary Sorts
  19. Scrapy入门教程(转)
  20. 流畅的python和cookbook学习笔记(六)

热门文章

  1. [Leetcode] scramble string 乱串
  2. 洛谷 P4859 已经没有什么好害怕的了 解题报告
  3. Unescape JavaScript's escape() using C#
  4. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) C
  5. Avito Cool Challenge 2018 A. B题解
  6. [Usaco2015 dec]Max Flow 树上差分
  7. 移动端list布局,左边固定,右边自适应
  8. WebOS系列-了解Wekbit【邓侃】
  9. NodeJS概述
  10. [bzoj3098]Hash Killer 2——哈希