python中一些特殊方法及含义

python中一些特殊方法及含义,后期会根据系统学习后修正补充归纳汇总

初始化和销毁:
__init__(self [,args...])   
    对象初始化,构造函数,在生成对象时调用,简单的调用方法: obj = className(args) 初始化方法,在创建对象时进行初始化操作    
__del__(self)               
    析构方法, 释放对象时使用,删除一个对象,简单的调用方法 : del obj  析构方法,在对象被销毁前调用    

字符串表示:
__repr__(self)           
    打印,转换,转化为供解释器读取的形式,简单的调用方法 : repr(obj)  
    返回对象的“官方”字符串表示,通常通过交互式解释器调用,对象字符串形式 
    返回对象的“官方”字符串表示,通常用于在交互式环境中显示对象。   
__str__(self)            
    用于将值转化为适于人阅读的形式,简单的调用方法 : str(obj)  
    返回对象的字符串表示,通常通过 str(obj) 或 print(obj) 调用,对象可读字符串形式
    返回对象的字符串表示,通常用于打印对象。   
    
5. 类型转换
实现诸如 float(),str() 等内置类型转换函数的行为的魔术方法
__int__(self)       实现 int(obj)  int 的类型转换 int
__long__(self)      long 的类型转换 Python3.x 版本已删除 long
__float__(self)     实现 float(obj)  float 的类型转换 float
__complex__(self)   复数类型转换 complex
__oct__(self)       8 进制类型转换   oct
__hex__(self)       16 进制类型转换  hex
__complex__()       实现复数 complex(obj)

一元运算符:
__neg__()          实现负号-运算,取负
__pos__()          实现加号+运算,取正
__abs__()          实现内置 abs() 函数的行为   ,实现 abs(obj),取绝对值
__invert__()        实现 ~ 运算符实现反转行为,实现取反~操作,取反  
__round__()         实现内置 round() 函数的行为   取小数点后几位
__trunc__()         实现 math.trunc(obj)  截断取整数部分,对正数相当于floor,对负数相当于ceil
__floor__()         实现 math.floor(obj)  取 向下四舍五入到最接近的整数
__ceil__()         实现 math.ceil(obj)   取 向上四舍五入到最接近的整数

比较运算(富比较):
__eq__(self, other)       定义相等比较运算符 ==    
__ne__(self, other)       定义不等比较运算符 !=    
__lt__(self, other)       定义小于比较运算符 <    
__gt__(self, other)       定义大于比较运算符 >    
__le__(self, other)       定义小于等于比较运算符 <=    
__ge__(self, other)       定义大于等于比较运算符 >=    

数值运算:
__add__(self, other)              定义加法运算符 +          加运算                                            
__sub__(self, other)              定义减法运算符 -          减运算                                                  
__mul__(self, other)              定义乘法运算符 *          乘运算
__truediv__(self, other)           定义真除法运算符 /         除运算
__floordiv__(self, other)          定义整除运算符 //         整除运算
__mod__(self, other)              定义取模运算符 %          求余运算
__pow__(self, other[, modulo])      定义指数运算符 **         乘方     
        (特定算术运算符 __r…… 反向数学运算符  __i……自增运算符(+= -= 等等)  如 __radd__   __iadd__  所有下方方法都有---------不常用):
反向数学运算符: __r…… 
__radd__(self, other)             右加法运算(反向加法)
__rsub__(self, other)             右减法运算(反向减法)
__rmul__(self, other)             右乘法运算(反向乘法)
__rmatmul__(self, other)           右矩阵乘法运算(反向矩阵乘法)
__rtruediv__(self, other)          右真除法运算(反向真除法)
__rfloordiv__(self, other)         右整除法运算(反向整除法)
__rmod__(self, other)             右取模运算(反向取模)
__rdivmod__(self, other)           右取模运算(反向取模)
__rpow__(self, other[, modulo])     右幂运算(反向幂运算)
__rlshift__(self, other)           右移位运算(反向左移位)
__rrshift__(self, other)           右移位运算(反向右移位)
__rand__(self, other)             右按位与运算(反向按位与)
__rxor__(self, other)             右按位异或运算(反向按位异或)
__ror__(self, other)              右按位或运算(反向按位或)
自增运算符 :__i…… 实现 += -=等自增运算的魔术方法
__iadd__(self, other)         加法    +=
__isub__(self, other)         减法    -=
__imul__(self, other)         乘法    *=
__idiv__(self, other)         除法    /=
__ifloordiv__(self, other)     整数除法   //=
__imod__(self, other)         取余数    %=
__idivmod__(self, other)       使用 divmod() 内置函数实现长除法行为  divmod(a, b)
__ipow__(self, other)         指数运算   **=
__ilshift__(self, other)       位运算 左移     <<=
__ishift__(self, other)       位运算 右移     >>=
__iand__(self, other)         位运算,并  &=
__ior__(self, other)          位运算,或  |=
__ixor__(self, other)         位运算,异或 ^=

容器操作:
__len__(self)                       定义内置函数 len()        获得长度(序列中元素的个数)       
__getitem__(self, key)              定义索引访问操作符 []     按照索引获取值 切片、抽取功能 
__setitem__(self, key, value)       定义索引赋值操作符 []      按照索引赋值   索引赋值              
__delitem__(self, key)              定义删除操作符 del obj[key]   按照索引删除值
__iter__()                         定义对象迭代行为          返回一个迭代器
__next__                            实现迭代器协议            返回迭代器的下一个元素   
__contains__                        实现成员检测              检查对象是否包含某个元素 in 
__reversed__()                      实现逆向迭代              逆序,倒序
__get__()                                                  等描述器特殊方法 
__index__(self)                     对象的索引值 当在切片表达式中使用对象时,实现到 int 的类型转换。如果您定义可能用于切片的自定义数字类型,则应定义 __index__ . 


属性访问:
__getattr__(self, name)             获取对象的属性。在访问不存在的属性时调用,等自定义属性访问特殊方法    
__setattr__(self, name, value)      设置对象的属性。在设置属性时调用    
__delattr__(self, name)             删除对象的属性。在删除属性时调用    
__cmp__ (self, x)         对象比较,简单的调用方法 : cmp(obj, x)  比较运算                  
__call__                函数调用,模拟可调用对象
__new__()          创造类实例
__subclasses__()    子类的弱引用列表       
__bytes__()         对象的字节串表示
__format__()        对象格式化字符
__hash__()         对象的哈希值
__bool__()         对象布尔值
__dir__()          对象的属性和方法列表
__length_hint__()   对象长度估计值 
__missing__()       处理字典缺失键

__match_args__      支持结构化模式匹配

"""
python中一些特殊方法及含义,后期会根据系统学习后修正补充归纳汇总

初始化和销毁:
__init__(self [,args...])   
    对象初始化,构造函数,在生成对象时调用,简单的调用方法: obj = className(args) 初始化方法,在创建对象时进行初始化操作    
__del__(self)               
    析构方法, 释放对象时使用,删除一个对象,简单的调用方法 : del obj  析构方法,在对象被销毁前调用    

字符串表示:
__repr__(self)           
    打印,转换,转化为供解释器读取的形式,简单的调用方法 : repr(obj)  
    返回对象的“官方”字符串表示,通常通过交互式解释器调用,对象字符串形式 
    返回对象的“官方”字符串表示,通常用于在交互式环境中显示对象。   
__str__(self)            
    用于将值转化为适于人阅读的形式,简单的调用方法 : str(obj)  
    返回对象的字符串表示,通常通过 str(obj) 或 print(obj) 调用,对象可读字符串形式
    返回对象的字符串表示,通常用于打印对象。   
    
5. 类型转换
实现诸如 float(),str() 等内置类型转换函数的行为的魔术方法
__int__(self)       实现 int(obj)  int 的类型转换 int
__long__(self)      long 的类型转换 Python3.x 版本已删除 long
__float__(self)     实现 float(obj)  float 的类型转换 float
__complex__(self)   复数类型转换 complex
__oct__(self)       8 进制类型转换   oct
__hex__(self)       16 进制类型转换  hex
__complex__()       实现复数 complex(obj)

一元运算符:
__neg__()          实现负号-运算,取负
__pos__()          实现加号+运算,取正
__abs__()          实现内置 abs() 函数的行为   ,实现 abs(obj),取绝对值
__invert__()        实现 ~ 运算符实现反转行为,实现取反~操作,取反  
__round__()         实现内置 round() 函数的行为   取小数点后几位
__trunc__()         实现 math.trunc(obj)  截断取整数部分,对正数相当于floor,对负数相当于ceil
__floor__()         实现 math.floor(obj)  取 向下四舍五入到最接近的整数
__ceil__()         实现 math.ceil(obj)   取 向上四舍五入到最接近的整数

比较运算(富比较):
__eq__(self, other)       定义相等比较运算符 ==    
__ne__(self, other)       定义不等比较运算符 !=    
__lt__(self, other)       定义小于比较运算符 <    
__gt__(self, other)       定义大于比较运算符 >    
__le__(self, other)       定义小于等于比较运算符 <=    
__ge__(self, other)       定义大于等于比较运算符 >=    

数值运算:
__add__(self, other)              定义加法运算符 +          加运算                                            
__sub__(self, other)              定义减法运算符 -          减运算                                                  
__mul__(self, other)              定义乘法运算符 *          乘运算
__truediv__(self, other)           定义真除法运算符 /         除运算
__floordiv__(self, other)          定义整除运算符 //         整除运算
__mod__(self, other)              定义取模运算符 %          求余运算
__pow__(self, other[, modulo])      定义指数运算符 **         乘方     
        (特定算术运算符 __r…… 反向数学运算符  __i……自增运算符(+= -= 等等)  如 __radd__   __iadd__  所有下方方法都有---------不常用):
反向数学运算符: __r…… 
__radd__(self, other)             右加法运算(反向加法)
__rsub__(self, other)             右减法运算(反向减法)
__rmul__(self, other)             右乘法运算(反向乘法)
__rmatmul__(self, other)           右矩阵乘法运算(反向矩阵乘法)
__rtruediv__(self, other)          右真除法运算(反向真除法)
__rfloordiv__(self, other)         右整除法运算(反向整除法)
__rmod__(self, other)             右取模运算(反向取模)
__rdivmod__(self, other)           右取模运算(反向取模)
__rpow__(self, other[, modulo])     右幂运算(反向幂运算)
__rlshift__(self, other)           右移位运算(反向左移位)
__rrshift__(self, other)           右移位运算(反向右移位)
__rand__(self, other)             右按位与运算(反向按位与)
__rxor__(self, other)             右按位异或运算(反向按位异或)
__ror__(self, other)              右按位或运算(反向按位或)
自增运算符 :__i…… 实现 += -=等自增运算的魔术方法
__iadd__(self, other)         加法    +=
__isub__(self, other)         减法    -=
__imul__(self, other)         乘法    *=
__idiv__(self, other)         除法    /=
__ifloordiv__(self, other)     整数除法   //=
__imod__(self, other)         取余数    %=
__idivmod__(self, other)       使用 divmod() 内置函数实现长除法行为  divmod(a, b)
__ipow__(self, other)         指数运算   **=
__ilshift__(self, other)       位运算 左移     <<=
__ishift__(self, other)       位运算 右移     >>=
__iand__(self, other)         位运算,并  &=
__ior__(self, other)          位运算,或  |=
__ixor__(self, other)         位运算,异或 ^=

容器操作:
__len__(self)                       定义内置函数 len()        获得长度(序列中元素的个数)       
__getitem__(self, key)              定义索引访问操作符 []     按照索引获取值 切片、抽取功能 
__setitem__(self, key, value)       定义索引赋值操作符 []      按照索引赋值   索引赋值              
__delitem__(self, key)              定义删除操作符 del obj[key]   按照索引删除值
__iter__()                         定义对象迭代行为          返回一个迭代器
__next__                            实现迭代器协议            返回迭代器的下一个元素   
__contains__                        实现成员检测              检查对象是否包含某个元素 in 
__reversed__()                      实现逆向迭代              逆序,倒序
__get__()                                                  等描述器特殊方法 
__index__(self)                     对象的索引值 当在切片表达式中使用对象时,实现到 int 的类型转换。如果您定义可能用于切片的自定义数字类型,则应定义 __index__ . 


属性访问:
__getattr__(self, name)             获取对象的属性。在访问不存在的属性时调用,等自定义属性访问特殊方法    
__setattr__(self, name, value)      设置对象的属性。在设置属性时调用    
__delattr__(self, name)             删除对象的属性。在删除属性时调用    
__cmp__ (self, x)         对象比较,简单的调用方法 : cmp(obj, x)  比较运算                  
__call__                函数调用,模拟可调用对象
__new__()          创造类实例
__subclasses__()    子类的弱引用列表       
__bytes__()         对象的字节串表示
__format__()        对象格式化字符
__hash__()         对象的哈希值
__bool__()         对象布尔值
__dir__()          对象的属性和方法列表
__length_hint__()   对象长度估计值 
__missing__()       处理字典缺失键

__match_args__      支持结构化模式匹配
"""

  • 91
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然!Python有许多关键字,下面是一些常见的关键字及其含义: 1. `and`:逻辑操作符,表示逻辑与 2. `as`:用于给导入的模块或类起一个别名 3. `assert`:用于在表达式为假时引发异常 4. `break`:用于终止循环语句 5. `class`:定义一个类 6. `continue`:用于终止当前迭代,并继续下一次迭代 7. `def`:定义一个函数 8. `del`:删除对象的引用 9. `elif`:在if语句,如果上一个条件不满足,则检查这个条件 10. `else`:在if语句,如果上一个条件不满足,则执行这个语句块 11. `except`:用于捕获并处理异常 12. `finally`:无论异常是否引发,始终执行的代码块 13. `for`:用于迭代一个可迭代对象(如列表、字符串等) 14. `from`:从模块导入特定的内容 15. `global`:声明变量为全局变量 16. `if`:用于条件判断 17. `import`:导入模块 18. `in`:用于检查成员是否存在于序列 19. `is`:比较两个对象是否是同一个对象 20. `lambda`:创建匿名函数 21. `not`:逻辑操作符,表示逻辑非 22. `or`:逻辑操作符,表示逻辑或 23. `pass`:用作占位符,不执行任何操作 24. `raise`:引发一个异常 25. `return`:用于从函数返回一个值 26. `try`:用于包含可能引发异常的代码块 27. `while`:用于循环执行一段代码,直到条件不满足为止 28. `with`:用于创建一个运行时上下文,确保资源的正确分配和释放 29. `yield`:用于定义生成器函数 这些是Python的一些关键字,它们在语言具有特殊含义和功能。希望对你有所帮助!如果你有更多问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值