老习惯原链:http://www.cnblogs.com/vamei/archive/2012/06/02/2532274.html
笔记:
1 #第10节 2 #dir 用来查询一个类或者对象的所有属性 3 print (dir(list)) 4 #输出结果: 5 #['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 6 print (help(list)) 7 #输出结果 8 ''' 9 class list(object): 10 | list() -> new empty list 11 | list(iterable) -> new list initialized from iterable's items 12 类class 13 list()-一个空的list 14 list(iterable)-一个初始化的list从 可迭代的条目 15 剩下都是昨天学习的方法定义,类方法定义记得加self 16 __add__(self, value, /) 17 return self + value 18 一个简单的add定义 19 ''' 20 21 n2 = [] 22 #上面可以看到list 是一个class 23 n1 = [1, 2, 5, 3, 5] 24 #看了看list的help后面有介绍到list常用方法 25 n1.append(8) 26 #在n1这个list 的末尾加入一个元素8 27 #n1 就变成了[1, 2, 5, 3, 5, 8] 28 n1.copy() 29 #对n1进行复制 30 #先定义n2 = n1.copy 31 #n2 这个list 的内容就是从n1复制过来的,[1, 2, 5, 3, 5] 32 print (n1.count(5)) 33 #表示计数,5这个元素有多少个 34 n2.extend(n1) 35 #表示在列表末尾一次性追加另一个list的多个值,就是n2的末尾加n1的值,列表扩展 36 #输出结果:n2 = [1, 2, 5, 3, 5, 1, 2, 5, 3, 5] 37 print (n1.index(3)) 38 #查询n1 元素4 的下标,因为没有4,改3 39 n1.insert(4, 5) 40 #在n1下标为4的位置插入5,原来在4的元素下标现在就是5了 41 print (n1.pop()) 42 #去除最后一个元素,并将该元素返回 43 n1.remove(2) 44 #从n1中去除第一个2 45 #不知道怎么去除第二个2 46 n1.reverse() 47 #对n1进行反向排序 48 n1.sort() 49 #对n1的元素排序 50 #后面几个由于list 元素已经开始变化,就没有输出结果 51 n1.clear() 52 #清空n1 的元素,输出结果就是空的list,[] 53 #可以最后再执行 54 55 56 #这里作者想要表达 运算符 是定义在类内部的方法 57 #在上面看到list的属性里面有add,可以执行list相加 58 m1 = [1, 2, 3] 59 m2 = [4, 5, 6] 60 print (m1 + m2) 61 #输出结果:[1, 2, 3, 4, 5, 6] 62 #可以看到list是可以相加的 63 64 m3 = [1] 65 #print (m1 -m3) 66 #这个是会报错的 67 68 69 #没有减的操作,定义一个操作 70 class superList(list):#superList从list继承 71 def __sub__(self, b):#定义__sub__(),减的动作 72 a = self[:]#self 是对象,list[:]表示list所有元素 73 b = b[:] 74 if len(b) > 0:#len()表示list元素总数 75 element_b = b.pop()#b.pop是移除最后一个并返回,然后赋值给element_b 76 if element_b in a:#如果b list移除的元素返回赋值给 新的变量 element_b在a list里面 77 a.remove(element_b)#从a list 里面移除这个元素 78 return a#返回a list 79 80 #从而达到了list相减的目的 81 #类方法定义需要self 82 83 print (superList(m1) - superList(m3)) 84 #输出:[2, 3]
浙公网安备 33010602011771号