栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python魔法函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python魔法函数

非数学运算类

1.字符串表示
__ repr__;__ str__:
当未重写两方法时,都会打印“类名 + object at +内存地址”的形式

当仅重写__ str__方法时,__ repr__打印内容不会受__ str__影响

仅重写__ repr__后,两者打印内容与重写后的__ repr__一致

各自重写

2.集合序列相关
__ len__:相当于len()方法
__ getitem__:相当于array[i],通过索引访问元素
__ delitem__:通过索引删除元素
__ contains__:是否包含某元素

3.迭代相关
__ iter__:定义该方法,则类变为可迭代类,类就可以被用于for循环方法内
__ next__:定义该方法猴,该类变为迭代器

关于生成器,关键字yeild。是一种特殊的迭代器,yield修饰的方法直接调用是不会被执行的,需要触发__ next__方法执行

4.可调用
__ call__:用于重载类的()运算符


5.with上下文管理器:当使用with时,量函数必须在类中同时定义,否则会异常
__ enter__:在with as 语句中负责返回一个值赋给as后的对象
__ exit__(self, exc_type, exc_val, exc_tb):with语句后的类内部方法异常猴,会调用该函数方法

6.__abs__函数、__bool__函数、__int__函数、__float__函数、__hash__函数和__index__函数:

7.元类相关
__ new__:实例化类的静态方法,优先__ init__调用,同时出现时,仅new方法会被执行,对于python中的不可修改类,我们可以通过new方法重写,达成修改值得目的
__ init__:初始化类时执行,对象被创建时。

8.属性相关
__ getattr__:当类中不存在某个属性时就会调用该方法抛出异常

__ setattr__:为实例类赋加属性

__ dict__:字典形式展示所有属性

__ getattribute__:属性访问拦截器,当类被实例化的猴且调用属性或方法时,会优先走该方法,属性或方法将不再被执行

__ dir__:用于展示所有的属性名和方法名

9. 属性描述符
__ get__():调用一个属性时,触发
__ set__():为一个属性赋值时,触发
__ delete__():采用del删除属性时,触发
10.协程类
__await__函数、__aiter__函数、__anext__函数、__aenter__函数和__aexit__函数

数学运算符


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号