gpt4 book ai didi

Python 运算符重载和 __init__ 方法

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:30 24 4
gpt4 key购买 nike

我正在从 Mark Lutz 书籍第五版学习 python,现在我正在用 python 进行 OOP。有一个操作符重载的概念。好吧,我现在非常清楚什么是运算符重载以及如何使用它来处理对象,例如使用算术运算符等。但真正让我发疯的是他提到了 __init__ 方法,该方法基本上是 python 中的构造函数,作为运算符重载类的代表说它是属于运算符重载系列方法的方法之一。真的是这样吗?还是考虑到他的台词以及它是如何运算符重载方法!,我的看法是错误的?。 Here is the reference to the topic.

最佳答案

我认为 __init__ 与运算符方法一起被提及,因为它是像它们一样的双下划线特殊方法。但我认为将它们全部称为“运算符重载方法”是非常具有误导性的,因为许多特殊方法与运算符无关。

我建议阅读official Python documentation在这个主题中,其中 __foo__ 类型的方法被称为“特殊方法”。其中一些确实与运算符相关,但许多其他与类型之间的转换(__str____bool____int__ 等)或实现一些内置函数(__len____iter____format____hash__等)。其他方法通常仅间接运行,例如实现描述符协议(protocol)的 __get__ 、 __set__ 和 __delete__ 方法。我将 __init____new__ 与那些间接运行​​的方法分组,而不是与实现运算符的方法分组。

关于Python 运算符重载和 __init__ 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com