当前位置: 首页 > 网络应用技术

管道库源代码分析| python装饰器和计算符号重载

时间:2023-03-08 10:44:31 网络应用技术

  这是一个示例,源代码如下:

  致电python建造-in,然后返回迭代器。类装饰:

  它是类装饰器。初始化时,装饰功能(即)将作为参数传递。

  当我们使用包装函数时,模块 - 级常数(例如,等)替换模块 - 级常数。这将导致某个问题。涵盖了该功能的徽标数据。没有办法显示有用的信息,这对于用户来说是非常不友好的。

  可以更新功能以使其与函数相似。模块级别的常数将分配给该函数,并将其一起更新。

  当您要使用时:由于已打包,呼叫运算符会被重载加载。通过此方法,您会得到一个对象,该对象等同于直接创建此类对象:

  计算符号位于Python中的Python中,该符号被按下或操作,并且由//。然后,该库必须重写此Dunder方法。

  查询顺序,当您计算此表达式时,Python将首先检查类是否实现方法。

  这里有一个例外:

  如果右手元素的类(即)是计算元素(IE)类的子类,并且子类为操作提供不同的实现,则将在此之前调用。此设置允许子类覆盖其覆盖父亲 - 级行动。

  如果实现了类,则表达式等同于(返回,返回新实例),而其他后备为或中间。

  如果要允许我的自定义类并执行位置或操作,我应该如何编写?对于非类型计算元素,您可以返回常数。

  重新加载操作员(但不能完全加载)。装饰功能只能用作第二个计算元。