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,则提供一个默认值;
相关文章
|
4月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
382 0
|
5月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
6月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
183 0
|
10月前
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
500 15
|
10月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
258 11
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
636 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
11月前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
265 1
|
物联网 Python
请问:如何使用python对物联网平台上设备的属性进行更改?
为验证项目可行性,本实验利用阿里云物联网平台创建设备并定义电流、电压两个整型属性。通过Python与平台交互,实现对设备属性的控制,确保后续项目的顺利进行。此过程涵盖设备连接、数据传输及属性调控等功能。
|
12月前
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
255 2
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
296 2

推荐镜像

更多