8:19 2019/1/14/周一
//匿名函式
res=lambda x:x+1//lambda是匿名函式的定義其中res接受的是位址。其中x表示的是輸入值。
print(res(10))
//匿名函式裡面是簡單的語句,不能加複雜的邏輯結構。
把函式當成引數傳遞給另乙個函式,如果沒有返回值,則返回none .
返回值也可以是自己。
高階函式:1。函式接收的值是函式
2,返回值裡面包含函式
//高階函式的使用。
num=[1,2,3,4,5,6]
def add_one(x):
return x+1
li=def chang_num(add_one,num):
for i in num:
res =add_one(i)
return li//這裡面必須有返回值,不然列印出來的結果就是none.
print(chang_num(add_one,num))
結果:[2, 3, 4, 5, 6, 7]
//利用匿名函式同樣可以實現對上面的操作:
num=[1,2,3,4,5,6]
def add_one(x):
return x+1
li=lambda x:x+1
def chang_num(add_one,num):
for i in num:
res =add_one(i)
return li
print(chang_num(lambda x:x+1,num))
//輸出結果:
[2, 3, 4, 5, 6, 7]
map 函式的使用
num=[1,2,3,4,5,6]
map(lambda x:x+1,num)
res=map(lambda x:x+1,num)
print(res)
結果//這裡面輸出的結果是位址,所以需要遍歷列印裡面的結果。
example:
num=[1,2,3,4,5,6]
map(lambda x:x+1,num)
res=map(lambda x:x+1,num)
print(res)
for i in res :
print(i)
結果:234
567//加入list():
num=[1,2,3,4,5,6]
map(lambda x:x+1,num)
res=map(lambda x:x+1,num)
print(list(res))
結果:[2, 3, 4, 5, 6, 7]
//startswith()用法。
li=("hao_anz","sb_yulis","sb_gaojun","cjm")
change_li=
for i in li:
if not i.startswith('sb'):
print(change_li)
結果:['hao_anz', 'cjm']//列印的是列表。
//利用map()處理字串返回的結果是true,false
li=("hao_anz","sb_yulis","sb_gaojun","cjm")
change_li=
for i in li:
if not i.startswith('sb'):
print(change_li)
print(list(map(lambda x:x.startswith('sb'),li)))
結果:['hao_anz', 'cjm']
[false, true, true, false]
//利用filter()函式也是列印出字串裡面的是正確的。
li=("hao_anz","sb_yulis","sb_gaojun","cjm")
change_li=
for i in li:
if not i.startswith('sb'):
print(change_li)
res1=list(map(lambda x:x.startswith('sb'),li))
res2=list(filter(lambda x:x.startswith('sb'),li))
print(res1)
print(res2)
結果:['hao_anz', 'cjm']
[false, true, true, false]
['sb_yulis', 'sb_gaojun']
//修改:
res3=list(filter(lambda x:not x.startswith('sb'),li))//在裡面加乙個lambda :後面的返回的值。
print(res3)
結果:['hao_anz', 'cjm']
//reduce()用法:
功能: 對乙個序列進行壓縮運算,得到乙個值。但是reduce在python2的時候是內建函式,到了python3移到了functools模組,所以使用之前需要 from functools import reduce
呼叫: reduce(function,iterable),其中function必須傳入兩個引數,iterable可以是列表或者元組
---------------------
from functools import reduce
y = [2,3,4,5,6]
reduce(lambda x,y: x + y,y)
print(reduce(lambda x,y: x -y,y))
結果:-16
from functools import reduce
print(reduce(lambda x, y: x + y, range (100), 10))//10表示的是初始值。reduce 就是把所有的值合併成乙個值。
結果:4960
//decode 是解碼方式()裡面加入的是解碼規則。
res="1230"
print(res.encode().decode("gbk"))
Python 07 函式的定義與呼叫
函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的功能是求兩個...
Python07程式異常處理
try 塊 except 異常型別 塊舉例 def foo a try b 100 a except zerodivisionerror print 除數不為零 return 1 except print 未知錯誤 return 2執行結果 foo 0 除數不為零 foo abc 未知錯誤 try ...
python 07 資料型別
目錄2.刪除列表 字典的 坑 3.二次編碼 name alex print name.capitalize 首字母大寫 name alex wusir name.title 每個單詞首字母大寫 name alex wuser print name.swapcase 大小寫反轉 name alex p...