gpt4 book ai didi

python - 什么时候使用 Python 特殊方法?

转载 作者:太空宇宙 更新时间:2023-11-04 08:22:43 25 4
gpt4 key购买 nike

我知道类可以实现各种特殊的方法,比如__iter__, __setitem__, __len__, __setattr__ ,以及许多其他人。但是我什么时候应该使用它们呢?任何人都可以描述我想要实现它们并且它们会简化 Python 编程的典型场景吗?

谢谢,Boda Cydo。

最佳答案

我认为你基本上回答了你的问题。

熟悉特殊方法。如果您发现使用一个会使您的程序更简单,请使用它。如果您不明白它的用途,或者觉得它是一个更复杂的解决方案 - 您已经回答了问题。不要使用它。

典型的场景是:

  • 覆盖运算符

  • 捕获对不存在的属性的访问并处理该访问 (__getattr__)

  • 操作类和实例创建(__init____slots____new__)

  • 自定义字符串表示(__str____repr__)

  • 允许可调用性(__call__)

  • 连接到方便/常用的内置语法(__getitem____len__ 等...)

这些内容大部分在 https://docs.python.org/reference/datamodel.html#specialnames 中介绍和 http://docs.python.org/reference/datamodel.html#special-method-names

关于python - 什么时候使用 Python 特殊方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2428391/

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