魔法函数
《Python3高级核心技术97讲,bobby》学习笔记,第二章:魔法函数介绍、常用魔法函数汇总。
303阅读 · 2020-6-6 23:11发布
2.1 什么是魔法函数?
- 可以通过魔法函数加强类(使类拥有某种特性)。
- 魔法函数为双下划线开头双下划线结尾的函数。
- 魔法函数也叫数据模型。
2.2 魔法函数一览
非数学运算
- 字符串表示
魔法函数 | 说明 |
---|---|
__repr__ | 开发模式下访问对象时会会调用该方法 |
__str__ | 对象进行字符串格式化的时候会调用 |
- 集合、序列相关
魔法函数 | 说明 | 调用方式 |
---|---|---|
__len__ | 返回对象长度 | len() |
__getitem__ | 待补充 | 待补充 |
__setitem__ | 待补充 | 待补充 |
__delitem__ | 待补充 | 待补充 |
__contains__ | 待补充 | 待补充 |
- 迭代相关
魔法函数 | 说明 |
---|---|
iter | 待补充 |
next | 待补充 |
- 可调用
魔法函数 | 说明 |
---|---|
call | 待补充 |
- with上下文管理器
魔法函数 | 说明 |
---|---|
enter | 待补充 |
exit | 待补充 |
- 数据转换
魔法函数 | 说明 |
---|---|
abs | 待补充 |
bool | 待补充 |
int | 待补充 |
float | 待补充 |
hash | 待补充 |
index | 待补充 |
- 元类相关
魔法函数 | 说明 |
---|---|
new | 待补充 |
init | 待补充 |
- 属性相关
魔法函数 | 说明 |
---|---|
getattr | 待补充 |
setattr | 待补充 |
getattribute | 待补充 |
setattribute | 待补充 |
dir | 待补充 |
- 属性描述符
魔法函数 | 说明 |
---|---|
get | 待补充 |
set | 待补充 |
delete | 待补充 |
- 协程
魔法函数 | 说明 |
---|---|
await | 待补充 |
aiter | 待补充 |
anext | 待补充 |
aenter | 待补充 |
aexit | 待补充 |
数学运算
- 一元运算符
魔法函数 | 说明 | 调用方式 |
---|---|---|
neg | -,负数 | |
pos | +,正数 | |
abs | 获取绝对值 | Nums(1) |
- 二元运算符
魔法函数 | 说明 |
---|---|
lt | < |
le | <= |
eq | == |
ne | != |
gt | > |
ge | >= |
- 算数运算符
魔法函数 | 说明 | 调用方式 |
---|---|---|
add | +,相加运算符 | 待补充 |
sub | - | 待补充 |
mul | * | 待补充 |
truediv | / | 待补充 |
floordiv | // | 待补充 |
mod | % | 待补充 |
divmod | 待补充 | 待补充 |
pow | ** | 待补充 |
round | 待补充 | 待补充 |
- 反向算数运算符
魔法函数 | 说明 |
---|---|
radd | 待补充 |
rsub | 待补充 |
rmul | 待补充 |
rtruediv | 待补充 |
rfloordiv | 待补充 |
rmod | 待补充 |
rdivmod | 待补充 |
rpow | 待补充 |
- 增量赋值算术运算符
魔法函数 | 说明 |
---|---|
iadd | 待补充 |
isub | 待补充 |
imul | 待补充 |
itruediv | 待补充 |
imod | 待补充 |
ipow | 待补充 |
- 位运算符
魔法函数 | 说明 | |
---|---|---|
invert | ~ | |
lshift | << | |
rshift | >> | |
and | & | |
or | \ | |
xor | ^ |
- 反向位运算符
魔法函数 | 说明 |
---|---|
rlshift | 待补充 |
rrshift | 待补充 |
rand | 待补充 |
rxor | 待补充 |
ror | 待补充 |
- 增量赋值位运算符
魔法函数 | 说明 |
---|---|
ilshift | 待补充 |
irshift | 待补充 |
iand | 待补充 |
ixor | 待补充 |
ior | 待补充 |