defwrapper(f):#(warpper函数名可变更换过后需要跟后面语法糖@装饰器名称一样#f是被装饰函数)definner(*args,**kwargs):#'被装饰之前要做的事'ret=f(*args,**kwargs)#装饰器ret接受inner的返回值就是被装饰函数的返回值#'被装饰之后要做的事'returnretreturninner
fromitertoolsimportchainchain()#将可迭代数据连接起来例如:a=[1,2,3,4]b=['x','y','z']forxinchain(a,b):print(x)#输出1234xyz
defceshi():a='abcdef'yieldfromag=ceshi()foriing:print(i)#结果为a/b/c/d/e/f(/为回车)
my_list=[3,5,-4,-1,0,-2,-6]sorted(my_list,key=lambdax:abs(x))#在遍历my_list将其元素传入lambda中进行处理
classOb():def__init__(name,age,birthday):self.name=nameself.age=ageself.birthday=birthdayob1=Ob("xx1",20,datetime.date(1992,12,2))ob2=Ob("xx2",16,datetime.date(2000,10,20))ob3=Ob("xx3",25,datetime.date(1883,3,5))objs=[ob1,ob2,ob3]sorted(objs,key=operator.attrgetter("age"))#获取age属性进行排序sorted(objs,key=operator.attrgetter("birthday.year"))#获取birthday中的datetime下的year方法进行排序#内部通过反射获取对象属性#itemgetter就是遍历字典等元素使用