`
fujinbing
  • 浏览: 237245 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python中的特殊方法的含义

 
阅读更多

http://blog.csdn.net/fdl19881/article/details/8443893

 

表 13.4 用来定制类的特殊方法

基本定制型                                              描述
C.__init__(self[, arg1, ...])              构造器(带一些可选的参数)
C.__new__(self[, arg1, ...])            构造器(带一些可选的参数);通常用在设置不变数据类型的子类。
C.__del__(self)                              解构器
C.__str__(self)                               可打印的字符输出;内建 str()及 print 语句
C.__repr__(self)                            运行时的字符串输出;内建 repr() 和‘‘ 操作符
C.__unicode__(self)                      Unicode 字符串输出;内建 unicode()
C.__call__(self, *args)                   表示可调用的实例
C.__nonzero__(self)                     为 object 定义 False 值;内建 bool() (从 2.2 版开始)

C.__len__(self)                             “长度”(可用于类);内建 len()

 

对象(值)比较
C.__cmp__(self, obj)                     对象比较;内建 cmp()
C.__lt__(self, obj) and                   小于/小于或等于;对应<及<=操作符
C.__gt__(self, obj) and                  大于/大于或等于;对应>及>=操作符
C.__eq__(self, obj) and                 等于/不等于;对应==,!=及<>操作符

属性
C.__getattr__(self, attr)                 获取属性;内建 getattr();仅当属性没有找到时调用
C.__setattr__(self, attr, val)          设置属性
C.__delattr__(self, attr)                 删除属性
C.__getattribute__(self, attr)         获取属性;内建 getattr();总是被调用
C.__get__(self, attr)                      (描述符)获取属性
C.__set__(self, attr, val)                (描述符)设置属性

C.__delete__(self, attr)                 (描述符)删除属性

 

定制类/模拟类型
数值类型:二进制操作符
C.__*add__(self, obj)                    加;+操作符
C.__*sub__(self, obj)                    减;-操作符
C.__*mul__(self, obj)                    乘;*操作符
C.__*div__(self, obj)                     除;/操作符
C.__*truediv__(self, obj)               True 除;/操作符
C.__*floordiv__(self, obj)              Floor 除;//操作符
C.__*mod__(self, obj)                  取模/取余;%操作符
C.__*divmod__(self, obj)             除和取模;内建 divmod()
C.__*pow__(self, obj[, mod])       乘幂;内建 pow();**操作符
C.__*lshift__(self, obj)                 左移位;<<操作符
C.__*rshift__(self, obj)                 右移;>>操作符
C.__*and__(self, obj)                   按位与;&操作符
C.__*or__(self, obj)                     按位或;|操作符

C.__*xor__(self, obj)                   按位与或;^操作符

 

数值类型:一元操作符
C.__neg__(self)                           一元负
C.__pos__(self)                           一元正
C.__abs__(self)                           绝对值;内建 abs()
C.__invert__(self)                        按位求反;~操作符

数值类型:数值转换
C.__complex__(self, com)          转为 complex(复数);内建 complex()
C.__int__(self)                            转为 int;内建 int()
C.__long__(self)                         转为 long;内建 long()
C.__float__(self)                         转为 float;内建 float()

数值类型:基本表示法(String)
C.__oct__(self)                           八进制表示;内建 oct()
C.__hex__(self)                         十六进制表示;内建 hex()

数值类型:数值压缩
C.__coerce__(self, num)           压缩成同样的数值类型;内建 coerce()
C.__index__(self)                      在有必要时,压缩可选的数值类型为整型(比如:用于切片索引等等)


序列类型
C.__len__(self)                         序列中项的数目
C.__getitem__(self, ind)           得到单个序列元素
C.__setitem__(self, ind,val)     设置单个序列元素
C.__delitem__(self, ind)           删除单个序列元素
C.__getslice__(self, ind1,ind2) 得到序列片断
C.__setslice__(self, i1, i2,val)   设置序列片断
C.__delslice__(self, ind1,ind2)  删除序列片断

C.__contains__(self, val)          测试序列成员;内建 in 关键字

C.__*add__(self,obj)                串连;+操作符
C.__*mul__(self,obj)                重复;*操作符

C.__iter__(self)                        创建迭代类;内建 iter()


映射类型
C.__len__(self)                         mapping中的项的数目
C.__hash__(self)                      散列(hash)函数值
C.__getitem__(self,key)           得到给定键(key)的值
C.__setitem__(self,key,val)     设置给定键(key)的值
C.__delitem__(self,key)           删除给定键(key)的值
C.__missing__(self,key)          给定键如果不存在字典中,则提供一个默认值

分享到:
评论

相关推荐

    python3.10中文使用手册

    这些单词在 Python 语言中具有特殊的含义。 * 软关键字:Python 3.10 中引入了软关键字的概念,软关键字是指一些可以在 future 语句中使用的单词。 * 保留的标识符类:Python 中的一些标识符是保留的,例如 `__class...

    Python中文操作手册

    5. **面向对象编程**:类的定义、继承、封装、多态等概念,以及`__init__`、`__del__`等特殊方法的使用。 6. **文件操作**:如何打开、读写和关闭文件,以及不同模式(如'r'、'w'、'a')的含义。 7. **模块和包...

    Python面向对象特殊属性及方法解析

    Python中对象包括很多双下划綫开始和结束的属性,这些特殊属性,有特殊用法。 特殊方法 含义 obj.__dict__ 对象的属性字典 obj.__class__ 对象所处的类 class.__bases__ 类的基本元组(多继承) class.__...

    python基础语法合集68页.pdf

    标识符的命名规则有特殊含义,如单下划线开头的标识符表示非公开属性,双下划线开头表示私有成员,而双下划线开头和结尾的标识符通常是Python的特殊方法,如`__init__`是类的构造函数。 Python的语法特点是严格依赖...

    解决Python 爬虫URL中存在中文或特殊符号无法请求的问题

    #解决请求路径中含义中文或特殊字符 url_ = quote(new_url, safe=string.printable); 以上这篇解决Python 爬虫URL中存在中文或特殊符号无法请求的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也...

    python考试题目.docx

    `int32`, `self`和`__name__`都是合法的标识符,分别代表不同的含义:`int32`可能是自定义的变量名,`self`是类方法的第一个参数,`__name__`是内置的特殊属性,通常用于检查脚本是否被直接运行。 3. **字符编码**...

    上市公司年报_Python中jieba_数字化_关键词词频统计_程序+年报样例

    在实际操作中,我们还需要考虑去除停用词(如“的”、“和”等常见但不具特殊含义的词)以提高分析的准确性。 文件名称列表中的“000001平安银行:深发展A2003年年度报告2004-04-15.txt”等文件表明我们拥有不同...

    python中阶基础

    - **定义**: Python保留词,具有特殊含义。 - **例子**: `if`, `else`, `for`, `while`等。 **1.14. 物理行和逻辑行** - **物理行**: 文件中的每一行。 - **逻辑行**: 通过续行符`\`将多行合并为一行。 **1.15. ...

    Python3.7.2中文文档-7.Python常见问题

    3. **空值与None**:在Python中,None是一种特殊的类型,表示无值或无意义。有时,我们可能会遇到变量被意外地赋值为None,这可能导致运行时错误。理解None的用法并检查变量是否为None,是调试代码的重要步骤。 4. ...

    Python中的“酿造台”——函数.pdf

    2. 关键字:在Python中,关键字是保留字,它们有特殊的含义。在定义函数时使用的`def`和`return`都是关键字。关键字不能用作变量名、函数名等标识符。 3. 缩进:Python的另一个显著特征是它的缩进规则。Python通过...

    python面试题

    - 表示私有成员的约定,实际并无特殊含义。 - **双下划线(__foo)** - 表示特殊成员,如`__init__`。 - 名称重整(`_classname__foo`),避免子类中命名冲突。 - **双下划线前缀(__foo)__** - 用于表示私有成员,...

    Python Numpy:找到list中的np.nan值方法

    本篇文章将详细介绍如何在Python Numpy中查找并处理列表中`np.nan`值的方法。 首先,让我们理解`np.nan`的含义。在Numpy中,`np.nan`是一个特殊的浮点数,表示非数字值,通常用于表示数据中的缺失或未定义值。由于`...

    python笔记

    综上所述,Python中的缩进规则、标识符的特殊含义以及数据类型的转换等功能,对于理解和掌握Python语言至关重要。同时,了解如何正确处理字符串也是编程中不可或缺的技能。通过深入学习这些基本概念,可以帮助开发者...

    Python基础语法合集.pdf

    首先,让我们了解一下Python中的输入和输出。`print()`函数是用于输出信息到控制台的基本工具。它可以打印出括号内的内容。在Python中,我们有四种方式来处理字符串的打印: 1. 不带引号的数字或其他表达式,Python...

    pythonPPT课件.ppt

    单下划线前缀的标识符表示非公开属性,双下划线前缀表示私有属性,双下划线前后都有的表示特殊方法。 - **保留字**:Python有一些保留字,如`and`、`exec`、`not`、`assert`等,它们有特定含义,不能用作变量名。 - ...

    Python编程测试卷及解析

    3. **关键字与内置函数**:Python的关键字具有特殊含义,如`with`用于上下文管理,`del`用于删除对象,`for`用于循环。而`int`是内置函数,用于转换数值类型,不是关键字。 4. **布尔表达式运算**:Python中的`and`...

    Python中下划线的使用方法

    在Python编程语言中,下划线(_)的使用具有多种含义和用途,这使得它成为Python编程中一个独特且有趣的特性。以下是关于Python中下划线使用的一些关键点: 1. 单下划线(_): - **解释器中的结果存储**:在交互...

    2018最新BAT-python面试题(内附答案)

    - 静态方法和类方法是Python中定义的两种特殊方法,它们允许我们定义与类相关但不依赖于类实例或类本身的方法。 - 静态方法不需要引用类或实例,可以直接通过类或实例来调用。 - 类方法需要引用类本身,通常使用...

    python一级考试试题题库-Python编程一级试卷一及参考答案.pdf

    4. **保留字**:保留字是Python中预定义的有特殊含义的关键字,不能作为变量名,如 `for`。 5. **数据类型**:浮点数表示为 `float`,例如 `3.0`。 6. **布尔运算**:`or` 运算符在至少有一个条件为 `True` 时返回...

Global site tag (gtag.js) - Google Analytics