zoukankan      html  css  js  c++  java
  • Python __call__内置函数的作用和用法

      开学了进入了实验室,需要协助大师兄做事,主要是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__()起的作用了。

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

     

  • 相关阅读:
    【译】高级指南-深入JSX
    记一次MongoDB裸奔
    CORS详解
    如何用Node编写命令行工具
    JSONP详解
    Web API接口之Geolocation
    认识AMD、CMD、UMD、CommonJS
    javascript之反柯里化(uncurrying)
    webpack3.0之loader配置及编写(一)
    小程序图形验证码前端实现
  • 原文地址:https://www.cnblogs.com/puyangsky/p/4802434.html
Copyright © 2011-2022 走看看