函数调用defadd(x):classAddNum(int):def__call__(self,x):returnAddNum(self.numerator+x)returnAddNum(x)printadd(2)(3)(5)#10printadd(2)(3)(4)(5)(6)(7)#27#javascript版本varadd=function(x){varaddNum=function(x){returnadd(addNum+x);};addNum.toString=function(){returnx;}returnaddNum;}add(2)(3)(5)//10add(2)(3)(4)(5)(6)(7)//27默认陷阱>>>defevil(v=[]):...v.append(1)...printv...>>>evil()[1]>>>evil()[1,1]读写csv文件importcsvwithopen('data.csv','rb')asf:reader=csv.reader(f)forrowinreader:printrow#Writetocsvfileimportcsvwithopen('data.csv','wb')asf:writer=csv.writer(f)writer.writerow(['name','address','age'])#单行写数据=[('xiaoming','china','10'),('Lily','USA','12')]writer.writerows(data)#多行写数制转换>>>int('1000',2)8>>>int('A',16)10格式jsonecho'{"k":"v"}'|python-mjson.toollistflatlist_=[[1,2,3],[4,5,6],[7,8,9]][kforiinlist_forkini]#[1,2,3,4,5,6,7,8,9]importnumpyasnpprintnp.r_[[1,2,3],[4,5,6],[7,8,9]]importitertoolsprintlist(itertools.chain(*[[1,2,3],[4,5,6],[7,8,9]]))sum(list_,[])flatten=lambdax:[yforlinxforyinflatten(l)]iftype(x)islistelse[x]flatten(list_)listmerge>>>a=[1,3,5,7,9]>>>b=[2,3,4,5,6]>>>c=[5,6,7,8,9]>>>list(set().union(a,b,c))[1,2,3,4,5,6,7,8,9]从collections中出现次数最多的2个字母importCounterc=Counter('helloworld')print(c.most_common(2))#[('l',3),('o',2)]使用eval("__import__('os').system('rm-rf/')",{})替换矩阵matrix=[[1,2,3],[4,5,6]]res=zip(*matrix)#res=[(1,4),(2,5),(3,6)]列表理解[item**2foriteminlstifitem%2]map(lambdaitem:item**2,filter(lambdaitem:item%2,lst))>>>列表(地图(海峡,[1,2,3,4,5,6,7,8,9]))['1','2','3','4','5','6','7','8','9']排列>>>forpinitertools.permutations([1,2,3,4]):...print''.join(str(x)forxinp)...123412431324134214231432213421432314234124132431312431423214324134123421412341324213423143124321>>>forcinitertools.combinations([1,2,3,4,5],3):...print''.join(str(x)forxinc)...123124125134135145234235245345>>>forcinitertools.combinations_with_replacement([1,2,3],2):...打印''.join(str(x)forxinc)...111213222333>>>forpinitertools.product([1,2,3],[4,5]):(1,4)(1,5)(2,4)(2,5)(3,4)(3,5)默认字典>>>m=dict()>>>m['a']Traceback(mostrecentcalllast):File"
