Python中的魔法方法

  Python 中有很多魔法方法,它们以双下划线 __ 开头和结尾,用于实现类的特殊行为。以下是一些常用的魔法方法:

1. __init__(self, ...)

  初始化方法,用于创建对象并设置初始状态。

2. __str__(self)

  返回对象的非正式字符串表示形式,通过 str() 函数调用。

3. __repr__(self)

  返回对象的正式字符串表示形式,通过 repr() 函数调用。

4. __len__(self)

  返回对象的长度,通过内置函数 len() 调用。

5. __getitem__(self, key)

  定义对象的索引访问,通过 obj[key] 进行调用。

6. __setitem__(self, key, value)

  定义对象的索引赋值,通过 obj[key] = value 进行调用。

7. __delitem__(self, key)

  定义对象的索引删除,通过 del obj[key] 进行调用。

8. __iter__(self)

  返回一个迭代器对象,通过 iter(obj) 进行调用。

9. __next__(self)

  定义迭代器的下一个元素,通过 next(obj) 进行调用。

10. __contains__(self, item)

  定义成员关系测试,通过 item in obj 进行调用。

11. __eq__(self, other)

  定义对象相等性,通过 obj == other 进行调用。

12. __ne__(self, other)

  定义对象的不等性,通过 obj != other 进行调用。

13. __lt__(self, other)

  定义对象的小于关系,通过 obj < other 进行调用。

14. __le__(self, other)

  定义对象的小于等于关系,通过 obj <= other 进行调用。

15. __gt__(self, other)

  定义对象的大于关系,通过 obj > other 进行调用。

16. __ge__(self, other)

  定义对象的大于等于关系,通过 obj >= other 进行调用。

17. __call__(self, ...)

  定义对象的可调用行为,通过 obj() 进行调用。

18. __enter__(self), __exit__(self, exc_type, exc_value, traceback)

  用于定义上下文管理器,支持 with 语句。

19. __getattr__(self, name)

  在访问不存在的属性时调用。

20. __setattr__(self, name, value)

  在设置属性时调用。

21. __delattr__(self, name)

  在删除属性时调用。

  这只是一小部分魔法方法,Python 中还有其他许多用于实现特定功能的魔法方法。不同的魔法方法用于支持不同的操作和特性,根据需要选择实现适当的魔法方法。




NLP工程化

1.本公众号以对话系统为中心,专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。
2.本公众号Roadmap可查看飞书文档:https://z0yrmerhgi8.feishu.cn/wiki/Zpewwe2T2iCQfwkSyMOcgwdInhf

NLP工程化(公众号)

NLP工程化(知识星球)

posted on 2024-01-14 23:17  扫地升  阅读(41)  评论(0编辑  收藏  举报