本文和大家分享的主要是python语言中类的特殊方法相关用法,希望对大家有帮助。

  构造序列

  1._len_(self)

  2._getitem_(self,key)

  3._setitem_(self,key,value)

  4._delitem_(self,key)

  程序演示:

  myseq.py

  class MySeq:

  def __init__(self):

  self.lseq = ["I","II","III","IV"]

  def __len__(self):

  return len(self.lseq)

  def __getitem__(self,key):

  if 0 <= key < 4:

  return self.lseq[key]

  if __name__ == '__main__':

  m = MySeq()

  for i in range(4):

  print(m[i])

  程序的运行结果为:

  构造iter

  1._iter_(self)

  2._next_(self)

  程序演示如下:

  class MyIter:

  def __init__(self,start,end):

  self.count = start

  self.end = end

  def __iter__(self):

  return self

  def __next__(self):

  if self.count < self.end:

  r = self.count

  self.count += 1

  return r

  else:

  raise StopIteration

  if __name__ == '__main__':

  for i in MyIter(1,10):

  print(i)

  程序的运行结果为:

  构造可比较类

  1._it_()

  2._le_()

  3._gt_()

  4._ge_()

  5._eq_()

  6._ne_()

  程序演示如下:

  mycmp.py

  class MyIter:

  def __init__(self,start,end):

  self.count = start

  self.end = end

  def __iter__(self):

  return self

  def __next__(self):

  if self.count < self.end:

  r = self.count

  self.count += 1

  return r

  else:

  raise StopIteration

  if __name__ == '__main__':

  for i in MyIter(1,10):

  print(i)

  程序的运行结果为:

  构造可运算类

  1._add_()

  2._sub_()

  3._mul_()

  4._div_()

  程序演示如下:

  class Point:

  def __init__(self,x,y):

  self.x = x

  self.y = y

  def __add__(self,oth):

  return Point(self.x + oth.x , self.y + oth.y)

  def info(self):

  print(self.x,self.y)

  if __name__ == '__main__':

  pa = Point(1,2)

  pb = Point(3,4)

  pc = pa + pb

  pc.info()

  程序的运行结果为:

原文链接:http://www.maiziedu.com/wiki/python/special/

Python中类的特殊方法详解的更多相关文章

  1. Python中格式化format()方法详解

    Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...

  2. Python中的魔术方法详解

    介绍 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,中文称『魔术方法』,例如类的初始化方法 __init__ ,Python中所有的魔术方法均在官方文档中 ...

  3. Python中的魔术方法详解(双下方法)

    介绍 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”,中文称『魔术方法』,例如类的初始化方法 __init__ ,Python中所有的魔术方法均在官方文档中 ...

  4. Python之list列表方法详解

    # 列表test = [11, 22, 33, 44, 55, 22]# append方法,在test列表末尾增加一个元素# append(self, p_object) 参数:p_object:待添 ...

  5. Python 字符串的所有方法详解

    name = "my name is {name} and my age is {age}" # 首字母大写 name.capitalize() # 统计某个字符的个数 name. ...

  6. python MethodType方法详解和使用

    python 中MethodType方法详解和使用 废话不多说,直接上代码 #!/usr/bin/python # -*-coding:utf-8-*- from types import Metho ...

  7. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息.        ...

  8. Python基础之 urllib模块urlopen()与urlretrieve()的使用方法详解。

    Python urllib模块urlopen()与urlretrieve()的使用方法详解   1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) ...

  9. Python调用C/C++动态链接库的方法详解

    Python调用C/C++动态链接库的方法详解 投稿:shichen2014 这篇文章主要介绍了Python调用C/C++动态链接库的方法,需要的朋友可以参考下 本文以实例讲解了Python调用C/C ...

随机推荐

  1. prototype

  2. CSS典型案例实践

    CSS案例实践 一.层布局:定位元素重叠 在CSS中可以通过z-index属性来确定定位元素的层叠等级.需要注意的是: z-index属性只有在元素的position属性取值为relative.abs ...

  3. 【译】使用UIKit进行面向对象的编程

    在WWDC 2015上,Apple谈了Swift中面向协议编程的话题,令人深思.在那之后,好像每个人都在讨论关于协议扩展的话题,这个新的语言特性使每个人都有所困惑. 我阅读了许多关于Swift中协议的 ...

  4. ubuntu编译运行xv6

    最近想找个简单的类Unix系统学习下, xv6不错的, 所有代码加起来不到一万行,首先把代码跑起来还是很重要的. # 下载xv6源码并编译 git clone git://pdos.csail.mit ...

  5. storm kafka整合

    public class KafkaTopo { public static void main(String[] args) { String zkRoot = "/kafka-storm ...

  6. #if 0在代码中的作用

    #if 0在代码中有2个作用. 1.作为行内注释 /**/是多行注释,如果想在/**/里面嵌套一个多行注释,怎么办呢? /* int a=10; /* - (void)test{ NSLog(@&qu ...

  7. DuiLib学习笔记5——标题栏不能正常隐藏问题

    我之前代码都是照着官方那个Duilib入门文档.doc来学习的.但是遇到一个问题,虽然他隐藏了windows的自带标题栏,可以自己绘画一个标题栏了,但是在这个标题栏下方,用力乱戳,就可能把系统自带的, ...

  8. 简明python教程 --C++程序员的视角(四):容器类型(字符串、元组、列表、字典)和参考

    数据结构简介 Python定义的类型(或对象)层次结构在概念上可以划分为四种类别:简单类型.容器类型.代码类型 和内部类型. 可以将 PyObject 类之下的所有 Python 类划分为 Pytho ...

  9. Count Primes ----质数判断

    质数的判断 埃拉托斯特尼筛法: 算法的过程如下图所示: 我们从2开始遍历到根号n,先找到第一个质数2,然后将其所有的倍数全部标记出来,然后到下一个质数3,标记其所有倍数,依次类推,直到根号n,此时数组 ...

  10. android IntentFilter 使用之 data过滤

    1 Intent分为两大类,显式和隐式. 显式事件,就是指通过 component Name 属性,明确指定了目标组件的事件. 比如我们新建一个Intent,指名道姓的说,此事件用于启动名为" ...