函式高階 2 總結

2022-06-10 16:15:09 字數 1675 閱讀 4014

目錄三元表示式

字典生成式

生成器遞迴

迭代器可以說成是重複,並且每一次的重複都是基於上一次的結果來的。

可迭代物件

python中一切皆物件,對這一切思想中,但凡有_iter_方法的物件,都是可迭代物件。

但是需要注意的是,數字型別的不是可迭代物件。

含有_____________iter_______________和___________next______方法的物件就是迭代器物件

有迭代器物件的目的:提供了不依賴索引取值的手段

it = [1,2,3,4]

it.__iter__()

tup = (1,2,3,4)

it.__iter__()

dic =

dic.__iter__()

se =

se.__iter__()

fw = open('test.txt','at',encoding='utf8')

fw.seek(0,0)

fw.__iter__()

迭代取值的方法是基於上乙個值來進行一行行取值。

it_iter = iter.__iter__()

print(it_iter.__next+__())

s = [1,2,3,4,5]

s = s.__iter__()

第一種列印方法:

# print(s.__next__())

# print(s.__next__())

# print(s.__next__())

# print(s.__next__())

# print(s.__next__())

注:在列表內的值不夠的時候,會提示stopiteration的報錯

第二種方法:解釋for迴圈的原理

while true:

try:

print(s.__next__())

except stopiteration:

break

在執行到報錯的時候會自動執行break

注:迭代器的主要作用就是來取值,他只能一行一行向後取取值,過於麻煩,而且在值取完之後就沒有了,而且無法使用len()方法獲取長度。

又稱三目表示式,當條件成立走這裡if條件,條件不成立走else調價

print(x) if x > y else print(y)
建立字典的兩種方法:

例1:for迴圈生成

dic = {}

for i in range(10):

dic[i] = i

print(dic)

例2:zip生成

lt1 = ['a', 'b', 'c']

lt2 = [1, 2, 3]

dic =

print(dic)

定義:含有yield關鍵字的函式叫做生成器。乙個yelid相當於 乙個next,暫停函式。

關於yeild與return特性的去區別

yeild的特性:

1.暫停函式

2.通過next取值,乙個yeild相當於乙個next。

return的特性:

1.終止函式

2.通過呼叫函式拿到值

高階函式總結

1 什麼是函式?a 通過關鍵字 function定義宣告的語句就是函式 function sun b 函式是乙個 塊的集合2 函式的命名?a 參考變數命名3 函式的呼叫有幾種?a 普通呼叫 function sun sun b 事件中呼叫 sun p c 表示式中呼叫 輸出方法中呼叫 functio...

python高階 高階函式總結

將函式作為引數傳入,這樣的函式就叫做高階函式。通俗點說,就是乙個函式可以作為另乙個函式的引數和返回值 map 高階函式 接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。假設使用者輸入的英文名字不規範,沒有按照首字母大寫,後續字...

Python 高階函式(2)

sorted 函式也是乙個高階函式,它還可以接收乙個key函式來實現自定義的排序。key指定的函式將作用於list的每乙個元素上,並根據key函式返回的結果進行排序。假設我們用一組tuple表示學生名字和成績 l bob 75 adam 92 bart 66 lisa 88 請用sorted 對上述...