Python 中 = 的奥秘
开发人员经常在 Python 中遇到 = 运算符,但这种简写的内部工作原理可能仍然很神秘。那么,= 到底完成了什么?
本质上,= 是 Python 对象模型中 iadd 特殊方法的一个方便的语法糖。此方法使对象能够为 = 运算符定义自定义行为。或者,如果未定义 iadd,Python 可能会使用 add 或 radd 作为后备。
iadd 灵活且特定于类,提供执行任何所需操作的能力。例如,内置列表对象利用 iadd 来迭代可迭代对象并将每个元素附加到自身,模仿扩展方法的功能。
为了说明这一点,请考虑一个名为利用 __iadd__ 的加法器:class Adder(object): def __init__(self, num=0): self.num = num def __iadd__(self, other): print('in __iadd__', other) self.num += other return self.num在此示例中,我们可以使用整数初始化 Adder 对象,然后使用 = 来增加其价值。
iadd 方法在每次调用期间打印一条消息,演示每次使用 = 运算符时它如何变得活跃。
通过理解 = 的复杂性,程序员可以更深入地研究 Python 的对象 -面向编程的能力,使他们能够制作具有增强功能的自定义对象。以上是幕后发生了什么:= 在 Python 中如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!