`
fujinbing
  • 浏览: 233300 次
  • 性别: 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)          给定键如果不存在字典中,则提供一个默认值

分享到:
评论

相关推荐

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

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

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

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

    Python魔法方法详解

    他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 Python 的魔术方法...

    Python编程入门经典

    15.7 Python中可用的XML库 257 15.8 SAX的含义 257 15.8.1 基于流 258 15.8.2 事件驱动 258 15.8.3 DOM的含义 258 15.8.4 内存中访问 258 15.9 使用SAX或者DOM的 理由 259 15.9.1 能力权衡 259 15.9.2 内存考虑 259 ...

    Python需要记住的33个关键字 python基础学习知识

    Python关键字也叫保留字,是预先保留的标识符,每个关键字都有特殊的含义,不能用作变量名、函数名或任何其他标识符。 本篇手册是学习过程中,整理的Python关键字知识点,非常适合新手学习和参考资料。 零基础学...

    python正则用法.docx

    其中,元字符是具有特殊含义的字符,而普通字符则是指除元字符以外的所有字符。 下面是一些常用的元字符: .:匹配任意字符,除了换行符。 ^:匹配字符串的开头。 $:匹配字符串的结尾。 *:匹配前面的字符零次或多...

    python语言程序设计基础.rar

    (1)变量名必须以字母、汉字或下划线开头,但以下划线开头的变量名在Python中有特殊含义,后续会详细讲解; (2)变量名中不能有空格以及标点符号; (3)不能使用关键字作为变量名,可以导入 keyword 模块后使用...

    python中的字符串

    肉眼可以识别,具有特殊含义的字符组成串 2.如何定义字符串 1)可以根据弱数据类型直接定义(单引号,双引号,三引号都可以进行定义) 如s=“abc,python,asdf” 2)使用全局函数str进行定义 s=str() 3.字符串的常见...

    如何理解Python中的变量

    变量 在Python中,存储一个数据,需要定义一个变量 ...1、下划线或大小写字母开头,后面可跟下划线、大小写字母和数字任意组合(但一般以下划线开头具有特殊含义,不建议使用) 2、推荐使用具有固定含义的英文单字或者

    Python爬取电影榜单Top100并保存csv文件(附源码下载)

    网址的高端叫法叫做‘统一资源定位符’,在互联网里面如果获取到数据都是通过网址来定位到的(就跟你找辣条借钱首先需要知道辣条目前所在的地址)那么每天都在用的网址到底是有什么特殊的含义呢? 网址有包含:协议...

    Python 字符串前面加u,r,b的含义

    (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 ) 应用: 常用于正则表达式,对应着re模块。 3、字符串前加 b 例: response = b' Hello World! ' ...

    python 正则表达式学习小结

    在Python中实现正则的方式是通过re(regular expression的缩写)模块来实现的,你可以调用re模块的各种方法来实现不同的功能,下面我们就来说下,在Python中通过re模块可以调用那些方法,以及这些方法的作用都是什么...

    Python对HTML转义字符进行反转义的实现方法

    、&gt;、& 等字符有特殊含义(&lt;,&gt; 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 &lt; 的转义字符是 &lt;,...

    python3正则模块re的使用方法详解

    正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译...

    MySQL数据入库时特殊字符处理详解

    在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“”)开头,称为转义字符。 MySQL 识别下列转义字符: 0 一个 ASCII 0 (NUL) 字符。 ‘ 一个 ASCII 39 单引号 (“’”) 字符。 ” 一个 ASCII ...

    初学者python笔记(re模块、正则表达式完全解析)

    这样我们就可以用一些具有特殊含义的符号,对字符串进行另一种描述,而这些特殊含义的符号就组成一个正则表达式。 正则表达式与re模块 正则表达式也内嵌在Python中,通过re模块来实现,常用方法是findall(),会将匹配...

    详解Python中字符串前“b”,“r”,“u”,“f”的作用

    (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 ) 应用: 常用于正则表达式,对应着re模块。 3、字符串前加 b 例: response = b’Hello World!’ ...

    python-regex-notes:有关生物学研究生脚本课程的Python正则表达式的一些说明

    在Python中,反斜杠( '\' )在文字字符串中具有特殊含义。 例如,您可以使用它来转义或“停用”通常具有特殊含义的字符,例如: &gt;&gt;&gt; 'I\'m cold'相反,它也可以用于激活特殊字符,例如制表符: &gt;&gt;&gt; 'I\'m\tcold'...

    简单了解python字符串前面加r,u的含义

    这篇文章主要介绍了简单了解python字符串前面加r,u的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 u/U:表示unicode字符串 不是仅仅是针对中文, 可以...

    python正则表达式re模块详细介绍

    正则表达式使用反斜杆(\)来转义特殊字符,使其可以匹配字符本身,而不是指定其他特殊的含义。这可能会和python字面意义上的字符串转义相冲突,这也许有些令人费解。比如,要匹配一个反斜杆本身,你也许要用’\\\\...

Global site tag (gtag.js) - Google Analytics