知行编程网知行编程网  2022-11-18 18:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中__call__的触发执行的相关知识,包括python程序代码,以及recall这些编程知识,希望对大家有参考作用。

在python中触发执行__call__


说明

使类的实例表现得像函数,你可以调用它们,将一个函数作为参数传递给另一个函数,等等。这是一个非常强大的特性,使 Python 编程更加舒适和甜蜜。在对象后添加括号以触发执行。

1、__call__方法的执行是通过在object后面加括号来触发的,即:object()或class()()


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)


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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享