09 2024 档案
摘要:列表推导式 字典推导式 简单语法:{键表达式:值表达式 for 元素x in 序列 if 条件]} 注意事项:if 条件 可有可无 实例1 #将一个字典的key和value对调 m={"a":10,"b":20,"c":30} m1={m[k]:k for k in m} print(m1) 实例2
阅读全文
摘要:生成器(generator)其实是一类特殊的迭代器。前面博客我们每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,pytho
阅读全文
摘要:在Python中数据类型list、tuple、str、dict、set、f=open()、range()、enumerate均可通过for循环进行遍历,通过for循环的这种遍历就称为迭代 以上几种类型都是可迭代对象(Iterable) 协议: 含有__iter__函数就是可迭代的 含有__iter_
阅读全文
摘要:frozenset是一种不可变的集合,一旦创建,它的内容不能被修改,包括添加、删除元素 empty_fs = frozenset() # 创建一个空的frozensetmy_list = [1, 2, 3, 4, 5]fs_from_list = frozenset(my_list) # 从一个列表
阅读全文
摘要:集合:可变数据类型,但是它里面的元素必须是不可变数据类型,无序,不重复 set2={4,5,6} #创建集合print(set1,set2) set1=set([1,2,3]) #将其它类型转换成集合 print(set1) set1={4,5,6} set1.add(1) #增加元素 print(
阅读全文
摘要:__eq__(self, other):用于 == 操作符__ne__(self, other):用于 != 操作符__lt__(self, other):用于 < 操作符__le__(self, other):用于 <= 操作符__gt__(self, other):用于 > 操作符__ge__(
阅读全文
摘要:__add__(self, other): 用于 + 操作符__sub__(self, other): 用于 - 操作符__mul__(self, other): 用于 * 操作符__truediv__(self, other): 用于 / 操作符__floordiv__(self, other):
阅读全文
摘要:区别: +使用__add__函数,返回新地址 += 可变数据时使用__iadd__函数 ,返回原地址;不可变数据用__add__函数 不可变数据 #不可变数据 +和+= 都用__add__函数 i=10 i=i+2 print(id(i)) i+=2 print(id(i)) 可变数据 # 可变数据
阅读全文
摘要:当类中没有__eq__函数时,根据地址比较 class Vector: def __init__(self, x, y): self.x = x self.y = y pos1=Vector(1,1) pos2=Vector(1,1) print(pos2==pos1) 自定义Vector类中没有_
阅读全文
摘要:单继承 在单继承中super主要是用来调用父类的方法的 class A: def __init__(self): self.n = 2 def add(self, m): print('self is {0} @A.add'.format(self)) self.n += m class B(A):
阅读全文
摘要:__dict__是用来存储对象属性的一个字典,其键为属性名,值为属性的值 class people: def __init__(self, id=0,name="",age=0): #初始化函数 #id是创建对象时要输入的参数 self.id = id #self.id 是对象属性 self.nam
阅读全文