• 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__()起的作用了。

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

     

  • 相关阅读:
    iota妙用
    io
    http
    gosched
    go设置使用多少个cpu
    go协程的特点
    go条件变量同步机制
    Go奇技淫巧
    U5首次登录
    Maven安装中的问题
  • 原文地址:https://www.cnblogs.com/puyangsky/p/4802434.html
Copyright © 2020-2023  润新知