高階函式
遞迴實際就是乙個高階函式
# 建立乙個list列表,判斷列表裡的偶數
lst =[1
,2,3
,4,5
,6,7
,8,9
,10]def
fn(l)
:# 建立乙個新列表將我在l列表裡獲取的偶數存在新的列表
new_list=
# 通過for迴圈判斷去除偶數
for n in l:
if n%2==
0:# 將偶數新增到new_list新列表中
return new_list
'''print(fn(lst))
# 表示將l列表元素放在函式裡面去呼叫。滿足了函式自己呼叫自己的函式
# 將函式fn作為引數返回就是高階函式
'''
num =-1
# abs()返回絕對值
print
(abs
(num)
)# 1
# sorted(list)排序,返回排序後的list
print
(sorted([
1,2,
3,4,
5,6,
1,1,
3],reverse=
true))
# [6, 5, 4, 3, 3, 2, 1, 1, 1]
print
(sorted([
'1',
'2']
,reverse=
true))
# ['2', '1']
#sum(list)求取list元素的和
sum([1
,2,3
,100])
print
(sum([
1,2,
3,100]))
# 106
# round(a,b) 獲取指定位數的小數。
print
(round
(12.345678,4
))# 12.3457
-isinstance 型別判斷
- 利用該函式可以更快的判斷型別,不需要使用python直譯器,雖然python是強語言,python直譯器可以自己編譯識別,但是慢。
```python
# isinstance 型別判斷
print
(isinstance(1
,int))
# true
# eval()執行乙個表示式,或字串作為運算
print
(eval
('1+1'))
# 2
# exec()輸出python語句
exec
('print("python")'
)# python
# execute()預編譯 對任何計算機語言都有效
定義函式的過程中,沒有給定名稱的函式就叫做匿名函式
python中使用lambda表示式來建立匿名函式。
lambda 來建立匿名函式規則
●lambda只是乙個表示式,函式體比def簡單很多。
●lambda的主體是乙個表示式,而不是乙個**塊,所以不能寫太多的邏輯進去。
●lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。
●lambda定義的函式的返回值就是表示式的返回值,不需要return語句塊
●lambda表示式的主要應用場景就是賦值給變數、作為引數傳入其它函式
lambda匿名函式的表示式規則是:lambda 引數列表: 表示式
def
fn(a,b)
:return a+b
fn(1,2
)# 普通函式
print((
lambda a,b:a+b)(10
,20))
#30
lambda就是不寫函式名的表示式,經常使用
print(fn(10,20) ) # 通過函式賦值的不好之處:python直譯器解釋**不利於效率,**維護困難。
fn1 =
(lambda a,b:a+b)
print
(fn1(10,
20))# 30
不建議使用:變數常量等屬於優先順序低的(精度要求),轉化為函式精度優先順序高的,造成精度損失。 python之內置高階函式
把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象 的程式設計正規化。我們具體用兩個小案例來說明map 接收使用者輸入3個字串數字 依次將接收的三個數轉換為整形 對於序列每個元素求絕對值 nums input 請輸入 split int nums list map int,...
python之內置函式
非空即真,非0即真 記住這句話可以讓你少寫好多 l asdfgwert3r 1 sorted l 排序 字串可以直接使用sorted排序 2 all 如果list裡面都為真的情況返回為 true all 1 2,3 4 print true all 1 2,3 0 print false all 1...
python之內置函式
它將兩個 非複數 數字作為實參,並在執行整數除法時返回一對商和餘數。對於混合運算元型別,適用雙目算術運算子的規則。對於整數,結果和 a b,a b 一致,分別對應取整數和取餘數 對於浮點數,結果是 q,a b q 通常是 math.floor a b 但可能會比 1 小。如 將153拆解 a,b d...