• 技术文章 >Python技术 >Python基础教程

    python中__call__的触发执行

    小妮浅浅小妮浅浅2021-06-24 10:04:50原创3055

    说明

    让类的实例的行为表现的像函数一样,你可以调用它们,将一个函数当做一个参数传到另外一个函数中等等。这是一个非常强大的特性,其让Python编程更加舒适甜美。对象后面加括号,触发执行。

    1、__call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()

    2、__call__ 在那些类的实例经常改变状态的时候会非常有效。调用这个实例是一种改变这个对象状态的直接和优雅的做法。

    实例

    # __call__
    class Rect(object)
        """
        调用实例对象来改变矩形的位置
        """
     
        def __init__(self, x, y):
            # x, y代表矩形坐标
            self.x, self.y = x, y
     
        def __call__(self, x, y):        
            # 改变实体的位置
            self.x, self.y = x, y
     
     
    # ipython 测验
    In [33]: r = Rect(10, 10)
     
    In [34]: r.x, r.y
    Out[34]: (10, 10)
     
    In [35]: r(0, 0)
     
    In [36]: r.x, r.y
    Out[36]: (0, 0)
     
    In [37]: r(100, 100)
     
    In [38]: r.x, r.y
    Out[38]: (100, 100)

    以上就是python中__call__的触发执行,希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python __call__
    品易云
    上一篇:python中__init__ 和__new__的对比 下一篇:python中__enter__和__exit__的应用场景

    相关文章推荐

    • python装饰器如何保留原函数信息• python装饰器有哪些作用• python动态存取属性如何实现• python zip函数的使用注意• python zip_longest如何使用• python dict.item()方法遍历字典• python序列操作的整理• python字符串中有哪些方法• python格式字符串是什么• python字符串方法format()如何使用• python列表的创建和存放• python列表添加和删除的方法• python默认索引是什么• python列表操作符有哪些• python列表中sort()参数的使用• python如何创建GUI程序• python可迭代对象的本质探究• python迭代器的应用场景• python温度转换代码• python输入成绩求平均分• python怎么将整数反转输出• python如何读取不同格式文件• python文件拆分与合并的方法• python数据预处理的三种情况• python自动化测试需要学习什么?• python API接口如何测试• python pyglet模块如何使用• Python列表中有哪些索引

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网