首页 > 编程语言 >python魔术方法

python魔术方法

时间:2023-09-14 21:44:06浏览次数:36  
标签:__ 调用 python 配合 魔术 内置 对象 用于 方法

python中的魔术方法

Python 中的魔术方法是特殊命名的方法,它们以双下划线开头和结尾,并具有特殊的用途。以下是 Python 中常用的一些魔术方法:

__getitem__: 用于获取对象的索引值对应的值,配合索引操作([])使用。
__setitem__: 用于设置对象的索引值对应的值,配合索引操作([])使用。
__delitem__: 用于删除对象的索引值对应的值,配合索引操作([])使用。

__repr__: 用于返回对象的字符串表示,通常用于调试和日志记录。
__str__: 用于返回对象的字符串表示,可读性较好,常用于打印对象。

__iter__: 用于使对象可迭代,配合迭代器使用。
__next__: 用于获取迭代器中的下一个元素,配合迭代器使用

__add__, __sub__, __mul__, __div__ 等:用于实现对象的加法、减法、乘法、除法等运算。
__eq__: 用于定义对象的相等性操作,配合等于操作符(==)使用。
__lt__, __le__, __gt__, __ge__: 用于定义对象的比较操作,分别对应小于、小于等于、大于、大于等于操作符。

__getattr__: 当访问对象的属性不存在时调用,允许动态返回属性值。
__setattr__: 当设置对象的属性时调用,允许在赋值操作时自定义逻辑。

__new__ 在对象创建过程中是第一个被调用的方法。
__init__: 初始化方法,当一个对象被创建时调用。
__del__: 析构方法,当一个对象被销毁时调用。

__call__: 使对象可以被调用,类似于函数的调用,可以直接调用对象本身。
__len__: 返回对象的长度,配合内置函数 len() 使用。
__hash__: 返回对象的哈希值,配合内置函数 hash() 使用。
__dir__: 返回对象的属性和方法列表,配合内置函数 dir() 使用。
__format__: 定义对象被内置函数 format() 调用时的格式化字符串行为。
__bool__: 用于定义对象的布尔值,配合内置函数 bool() 使用。


__copy__ 和 __deepcopy__: 用于对象的浅拷贝和深拷贝操作。
__enter__ 和 __exit__: 用于创建上下文管理器,配合 with 语句使用。
__contains__: 用于判断对象是否包含某个值,配合 in 关键字使用。
__getattribute__: 当访问对象的属性时调用,无论属性是否存在。
__index__: 返回对象的整数值,配合内置函数 bin(), oct(), hex() 使用。
__reduce__ 和 __reduce_ex__: 用于序列化对象,将对象转换为可被 pickle 模块序列化的形式。
__bytes__: 用于返回对象的字节表示,配合内置函数 bytes() 使用。
  • 共36个常见27个不常见9个

标签:__,调用,python,配合,魔术,内置,对象,用于,方法
From: https://www.cnblogs.com/jwdboke/p/17703555.html

相关文章

  • java---方法
    方法对一段功能代码进行集中管理,每个同学在某一时刻只做一件事情。单一职责。5.1方法的分类构造方法在创建对象时自动调用成员方法使用对象进行调用静态方法static使用类名进行调用()-->代表的就是方法5.2方法的创建语法:访问修饰符[static]返回值类型方法名([形式参......
  • Python常用命令总结(一)
    Python语言特点开源、免费面向过程、面向对象、交互式编程面向过程:以事情或解决问题的过程为中心,主要考虑解决问题的思路和步骤面向对象:以事务为中心,主要考虑解决问题时涉及的事务的特征和行为获取键盘信息input()在终端显示信息print()整数类型int浮点类型float布尔类型bool字......
  • 《Python数据处理》PDF电子书+源码
    本书采用基于项目的方法,介绍用Python完成数据获取、数据清洗、数据探索、数据呈现、数据规模化和自动化的过程。主要内容包括:Python基础知识,如何从CSV、Excel、XML、JSON和PDF文件中提取数据,如何获取与存储数据,各种数据清洗与分析技术,数据可视化方法,如何从网站和API中提取数据。下......
  • 《Python编程快速上手——让繁琐工作自动化》 原版电子书PDF+源码
    第11章从Web抓取信息第12章处理Excel电子表格第13章处理PDF和Word文档第14章处理CSV文件和JSON数据第15章保持时间、计划任务和启动程序第16章发送电子邮件和短信第17章操作图像第18章用GUI自动化控制键盘和鼠标附录A安装第三方模块附录B运行程序附录C习题答案下载:https......
  • python扫描目标端口
    importsocketfromdatetimeimportdatetime#线程池frommultiprocessing.dummyimportPoolasThreadPool#目标IPremote_server_ip="192.168.88.128"#目标ip启用端口ports=[]#设置连接超时为0.5s,在校园网中使用时可以适当延长时间socket.setdefaulttimeout(0.5)#端口......
  • 开启read_committed_snapshot 读快照隔离级别的方法
    --修改sqlserver数据库隔离级别--开启read_committed_snapshot 读快照隔离级别,推荐值是1:--可以解决sqlserver大多数无脑死锁现象selectname,is_read_committed_snapshot_onfromsys.databaseswherename='kingdee_prod'usemasterdeclare@dbnameassysnamedeclare@s......
  • 解决方法:ERROR: Could not install packages due to an EnvironmentError: [Errno 2]
    在使用windows系统用pip命令安装ipyparallel时,出现了这种错误:ERROR:CouldnotinstallpackagesduetoanEnvironmentError:[Errno2]Nosuchfileordirectory:'C:\Users\xxx\AppData\Local\Temp\pip-install-8bc4asmd\ipyparallel\ipyparallel-7.1.0.data/data/share/j......
  • Python
    计算机基础结构由五大部分组成运算器:程序中指令对数据进行加工处理控制器:根据程序的需求,指挥计算机的各个部件协调工作存储器:保存各类程序的数据信息内存(RAM)--容量小、速度快、临时存储数据硬盘(HDD)--容量大、速度慢、永久存储数据输入设备:外界向计算机传送信息的装置键盘、鼠标......
  • 解决vue3中抽离出来的js如何调用页面的方法
    有时我们会用render渲染表格的columns,里面的按钮如何去调用.vue文件的方法?思路;在.vue文件中我们通过参数的方式传给.js文件,然后用变量接收,点击时执行(注意:.vue文件中setup执行比较早,按钮是点击事件,不会主动执行函数。为防止函数未声名就当做参数传递,必须在最后执行getFn函数,和d......
  • 二维数组的存储顺序、表示方法
    二维数组的存储顺序、表示方法先说一维数组:1.数组首地址也是第一个元素的首地址1#include<iostream>2usingnamespacestd;34intmain(){5intarr[5]={};6cout<<"arr="<<arr<<endl;7cout<<"&arr[0]=&q......