python-类属性操作

简介: 【10月更文挑战第11天】 python类属性操作列举
  • __getattr__(self,attr):获取属性attr;内建函数self.getattr(attr)的调用,仅当属性没找到时才被调用;
  • __setattr__(self,attr,val):设置属性attr;内建函数self.setattr(self,attr,val)的调用;
  • __delattr__(self,attr):删除属性attr;内建函数self.delattr(attr)时被调用;
  • __getattribute__(self,attr):获取属性attr;内建函数self.getattr(attr)的调用,它总是被调用;
  • __get__(self,attr):获取属性描述符;
  • __set__(self,attr):设置属性描述符;
  • __delete__(self,attr):删除属性描述符;

4、算数运算符重载

  • __add__(self,obj):加法运算self+obj;
  • __sub__(self,obj):减法运算self-obj;
  • __mul__(self,obj):乘法运算self*obj;
  • __div__(self,obj):除法运算self/obj;
  • __truediv__(self,obj):True除;除法运算self/obj;
  • __floordiv__(self,obj):Floor除;除法运算self//obj;
  • __mod__(self,obj):取模/取余;模运算self%obj;
  • __divmod__(self,obj):除和取模;内建divmod();
  • __pow__(self,obj[,mod]):取模/取余;内建pow();幂运算符"**";
  • __radd__(self,obj):加法运算self+obj;
  • __rsub__(self,obj):减法运算self-obj;
  • __rmul__(self,obj):乘法运算self*obj;
  • __rdiv__(self,obj):除法运算self/obj;
  • __rtruediv__(self,obj):True除;除法运算self/obj;
  • __rfloordiv__(self,obj):Floor除;除法运算self//obj;
  • __rmod__(self,obj):取模/取余;模运算self%obj;
  • __rdivmod__(self,obj):除和取模;内建divmod();
  • __rpow__(self,obj[,mod]):取模/取余;内建pow();幂运算符"**";
  • __iadd__(self,obj):加法运算self+=obj;
  • __isub__(self,obj):减法运算self-=obj;
  • __imul__(self,obj):乘法运算self*=obj;
  • __idiv__(self,obj):除法运算self/=obj;
  • __itruediv__(self,obj):True除;除法运算self/=obj;
  • __ifloordiv__(self,obj):Floor除;除法运算self//=obj;
  • __imod__(self,obj):取模/取余;模运算self%=obj;
  • __ipow__(self,obj[,mod]):取模/取余;内建pow();幂运算符"**";

5、位操作运算符重载

  • __lshift__(self,obj):左移运算符"<<";
  • __rshift__(self,obj):右移运算符">>";
  • __and__(self,obj):按位与运算符"&";
  • __or__(self,obj):按位或运算符"|";
  • __xor__(self,obj):按位异或运算符"^";
  • __rlshift__(self,obj):左移运算符"<<";
  • __rrshift__(self,obj):右移运算符">>";
  • __rand__(self,obj):按位与运算符"&";
  • __ror__(self,obj):按位或运算符"|";
  • __rxor__(self,obj):按位异或运算符"^";
  • __ilshift__(self,obj):左移运算符"<<=";
  • __irshift__(self,obj):右移运算符">>=";
  • __iand__(self,obj):按位与运算符"&=";
  • __ior__(self,obj):按位或运算符"|=";
  • __ixor__(self,obj):按位异或运算符"^=";

6、一元运算符重载

  • __neg__(self):取负;
  • __pos__(self):取正;
  • __abs__(self):取绝对值;内建abs()调用;
  • __invert__(self):按位取反;操作符"~";

7、类型转换

  • __complex__(self,com):转换成complex(复数);内建complex()调用;
  • __int__(self):转换成int;内建int()调用;
  • __long__(self):转换成long;内建long()调用;
  • __float__(self):转换成float;内建float()调用;
  • __oct__(self):转换成八进制;内建oct()调用;
  • __hex__(self):转换成十六进制;内建hex()调用;

8、序列类型操作

  • __len__(self):序列中的元素数量;
  • __getitem__(self,ind):对象序列化时依据索引ind得到对应的值;执行"val=obj[idn]"时调用;
  • __setitem__(self,ind,val):对象序列化时依据索引ind设置对应的值;执行"obj[idn]=val"时调用;
  • __delitem__(self,ind):对象序列化时依据索引ind删除对应的值;执行"del obj[idn]"时调用;
  • __getslice__(self,ind1,ind2):对象序列化时依据索引区间,得到对应的序列片段;
  • __setslice__(self,ind1,ind2):对象序列化时依据索引区间,设置对应的序列片段;
  • __delslice__(self,ind1,ind2):对象序列化时依据索引区间,删除对应的序列片段;
  • __contains__(self,val):测试成员val是否在序列中;内建关键字in的调用;
  • __add__(self,obj):串联操作符"+";
  • __mul__(self,obj):重复操作符"*";
  • __iter__(self):创建迭代类;内建函数iter(self)调用;
  • __reversed__(self):实现序列翻转;内建函数reversed(self)的调用;

9、映射类型操作

  • __len__(self):映射中的元素数量;
  • __hash__(self):散列函数值;
  • __getitem__(self,key):对象映射化时依据主键key得到对应的值;执行"val=obj[key]"时调用;
  • __setitem__(self,key,val):对象映射化时依据主键key设置对应的值;执行"obj[key]=val"时调用;
  • __delitem__(self,key):对象映射化时依据主键key删除对应的值;执行"del obj[key]"时调用;
  • __missing__(self,key):在字典中不存在给定主键key的value,则提供一个默认值;
相关文章
|
2月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
26 2
|
2月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
28 4
|
2月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
46 1
|
2月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
36 1
|
2月前
|
机器人 关系型数据库 Python
【Python篇】Python 类和对象:详细讲解(下篇)
【Python篇】Pyt hon 类和对象:详细讲解(下篇)
35 2
|
2月前
|
算法 Python
【Python篇】Python 类和对象:详细讲解(中篇)
【Python篇】Python 类和对象:详细讲解(中篇)
34 2
|
2月前
|
存储 C++ Python
【Python篇】Python 类和对象:详细讲解(上篇)
【Python篇】Python 类和对象:详细讲解(上篇)
48 2
|
3月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
25 7
|
3月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象
WK
|
2月前
|
Python
Python类命名
在Python编程中,类命名至关重要,影响代码的可读性和维护性。建议使用大写驼峰命名法(如Employee),确保名称简洁且具描述性,避免使用内置类型名及单字母或数字开头,遵循PEP 8风格指南,保持项目内命名风格一致。
WK
17 0