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,则提供一个默认值;
相关文章
|
8天前
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
19 2
|
2月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
27 2
|
2月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
32 4
|
2月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
59 1
|
2月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
37 1
|
2月前
|
机器人 关系型数据库 Python
【Python篇】Python 类和对象:详细讲解(下篇)
【Python篇】Pyt hon 类和对象:详细讲解(下篇)
36 2
|
2月前
|
算法 Python
【Python篇】Python 类和对象:详细讲解(中篇)
【Python篇】Python 类和对象:详细讲解(中篇)
41 2
|
2月前
|
存储 C++ Python
【Python篇】Python 类和对象:详细讲解(上篇)
【Python篇】Python 类和对象:详细讲解(上篇)
56 2
|
3月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
30 7
|
3月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象