Python中的魔法方法

这篇具有很好参考价值的文章主要介绍了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 中还有其他许多用于实现特定功能的魔法方法。不同的魔法方法用于支持不同的操作和特性,根据需要选择实现适当的魔法方法。文章来源地址https://www.toymoban.com/news/detail-790154.html

到了这里,关于Python中的魔法方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Python魔法大冒险》004第一个魔法程序

    在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前。桌子上摆放着那台神秘的笔记本电脑。 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器。是时候开始编写你的第一个Python魔法程序了! 小鱼: (兴奋地两眼放光)我准备好了! 魔法师: 不

    2024年02月10日
    浏览(37)
  • 《Python魔法大冒险》003 两个神奇的魔法工具

    魔法师: 小鱼,要开始编写魔法般的Python程序,我们首先需要两个神奇的工具:Python解释器和代码编辑器。 小鱼: 这两个工具是做什么的? 魔法师: 你可以把Python解释器看作是一个魔法棒,只要你向它说出正确的咒语,它就会为你施展魔法。 小鱼: 那这个解释器和我之前

    2024年02月09日
    浏览(31)
  • 《Python魔法大冒险》005 魔法挑战:自我介绍机器人

    魔法师和小鱼坐在图书馆的一扇窗户旁,窗外的星空闪烁着神秘的光芒。魔法师轻轻地拍了拍小鱼的肩膀。 魔法师: 小鱼,你已经学会了编写简单的魔法程序,现在我要教你如何创造一个有自己思想的机器人,让它能够和我们一样,向世界展示自己有多厉害!。 小鱼眼睛亮

    2024年02月10日
    浏览(36)
  • python 魔法函数学习

    1、 魔法函数也就是魔术方法,是python定义的方法,不属于某个类,不是因为继承而拥有的方法,每一个类都可以添加魔法函数,以双下划线开头和双下划线结尾,例如__getitem__,python内置的魔法函数有很多 2、魔术方法的名称不能随意更改 3、魔术方法对当前这个类进行了功

    2024年02月11日
    浏览(37)
  • 《Python魔法大冒险》010 魔法宝箱:列表与元组的探险

    城堡的大门 随着小鱼和魔法师的深入,他们来到了一个古老的废弃城堡。城堡的大门上挂着一个巨大的锁,而锁的旁边有一排小抽屉,每个抽屉里都有一个物品。 魔法师对小鱼说:“这是一个古老的魔法宝箱,小鱼。为了打开这扇门,我们需要正确地组合这些物品。在Pyth

    2024年02月09日
    浏览(38)
  • python封印魔法球小游戏

    先安装pgzrun,注意安装时库的名称为 pgzero 1.调用pgzrun 2.设置窗口大小、名称 3.用Actor函数创建角色,并输入图片名称,出现位置 4.定义变量score用于存放分数,初始值为零 5.定义变量status用于存放游戏状态,初始值为True 6.自定义函数draw(),用于绘画角色、识别游戏状态和绘制

    2024年02月09日
    浏览(44)
  • 【Python】Python函数的黑魔法:递归,嵌套函数与装饰器

    欢迎来到CILMY23的博客 本篇主题为: Python函数的黑魔法:递归,嵌套函数与装饰器 个人主页:CILMY23-CSDN博客 系列专栏:Python | C++ | C语言 | 数据结构与算法 感谢观看,支持的可以给个一键三连,点赞关注+收藏。 写在前头: 本期主要补充上篇未完成的内容,(点击链接

    2024年04月25日
    浏览(35)
  • 探索Python编程的技巧:多线程魔法、网络舞台、正则魔法阵与递归迷宫

    进程: 就是一个程序,运行在系统之上,称这个程序为一个运行进程,并分配进程ID方便系统管理。 线程:线程是归属于进程的, 一个进程可以开启多个线程,执行不同的工作,是进程的实际工作最小单位。 操作系统中可以运行多个进程,即多任务运行 一个进程内可以运行

    2024年02月12日
    浏览(52)
  • Python编程学院:揭秘面向对象的魔法

    Python面向对象编程(OOP) 面向对象编程(OOP)是Python中一块强大的魔法石,它让编程变得更加直观和灵活。通过使用类和对象,你可以创建清晰的模型来代表真实世界中的事物和情景。本文将带你探索类与对象的创建、继承与多态的魔法,以及私有属性与方法和神秘的魔法方

    2024年04月11日
    浏览(51)
  • 【从零学习python 】45.Python中的类方法和静态方法

    类方法是以类对象作为第一个参数的方法。需要使用装饰器 @classmethod 来标识其为类方法。对于类方法,第一个参数必须是类对象,一般以 cls 作为第一个参数。 使用场景: 当方法中需要使用类对象(如访问私有类属性等)时,定义类方法。 类方法一般和类属性配合使用。

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包