python-->匿名函數
阿新 • • 發佈:2019-01-10
元表 pri %s ssi list -- 即使 ble lambda
三元表達式
name=input(‘姓名>>: ‘) res=‘SB‘ if name == ‘python‘ else ‘World‘ print(res)
列表推導式
語法 [expression for item1 in iterable1 if condition1 for item2 in iterable2 if condition2 ... for itemN in iterableN if conditionN ] 解析 res=[] for item1 in iterable1: if condition1: for item2 initerable2: if condition2 ... for itemN in iterableN: if conditionN: res.append(expression)
test_list=[] for i in range(10): test_list.append(‘numbers--%s‘ %i) testp_list=[‘numbers--%s‘ %i for i in range(10)]
生成器表達式
把列表推導式的[]換成()就是生成器表達式
ps:一次只產生一個值在內存中,省內存
ls=(‘numbers--%s‘ %i for i in range(5)) print(ls) print(next(ls)) #因chicken可叠代,因而可以轉成列表 print(list(ls))
匿名函數
匿名就是沒有名字的函數與函數有相同的作用域,但匿名意味著引用計數為0即使用一次就釋放
非匿名函數 def func(x,y,z=1): return x+y+z #匿名函數 lambda x,y,z=1:x+y+z
python-->匿名函數