"""
54,set创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
语法:set([iterable])
"""s1 = set("pyer_up")print(type(s1), s1)s2 = set([iforiinrange(5)])print(type(s1), s2)
"""
55,setattr对应函数 getattr(),用于设置属性值,该属性不一定是存在的,不存在则出创建一个新的
语法:setattr(object, name, value)
"""classdemo():attr1 ="pyer_up"a = demo()print(getattr(a,"attr1"))setattr(a,"attr1","青衫羽扇")print(getattr(a,"attr1"))setattr(a,"attr2","青衫羽扇2")print(getattr(a,"attr2"))
"""
56,slice实现切片对象,主要用在切片操作函数里的参数传递。slice定义一种切片规则
语法:slice(start, stop[, step])
"""ms = slice(5)# 取前五个元素lis = [iforiinrange(10)]lis2 = [iforiinrange(4)]rt = lis[ms]rt2 = lis2[ms]print(rt)print(rt2)# 不够5个时,则输出全部ms2 = slice(1,8,2)print(lis[ms2])
"""
57,sorted对所有可迭代的对象进行排序操作,并返回一个新列表
语法:sorted(iterable, key=None, reverse=False)
iterable -- 可迭代对象。key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。"""lst = [1,53,6,8,2,4,0,9]print(sorted(lst))print(sorted(lst, key=None, reverse=True))students = [('john','A',15), ('jane','B',12), ('dave','B',10)]print(sorted(students, key=lambdas: s[2]))# 根据年龄
"""
58,@staticmethod回函数的静态方法。简单地说这个函数的作用就是在不实例化类的情况下可以直接调用"""classda(): @staticmethoddeff1():print("不用实例化就可以调用")print(da.f1())a = da()print(a.f1())# 实例化之后也可以调用
"""
59,str对象转化为适于人阅读的形式的字符串。
语法: str(object='')
"""lis = [1,2,3,45,6]st = str(lis)print(type(st), st)
"""
60,sum对序列进行求和计算。
语法:sum(iterable[, start])
iterable -- 可迭代对象,如:列表、元组、集合。start -- 指定相加的参数,如果没有设置这个值,默认为0。"""su = sum([1,2,65,3])print(su)print(sum([1,2,65,3],3))# 先求列表的和,再+2
"""
61,是用于调用父类(超类)的一个方法。super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,
但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。
语法:super(type[, object-or-type])
"""classA:defadd(self, x):y = x +1print(y)classB(A):defadd(self, x):super().add(x)b = B()b.add(2)# 3