Python基礎 08 函式使用(02)

2022-08-20 16:27:13 字數 1311 閱讀 1249

lt = (i for i in range(2))

#轉換為列表

#print(list(lt))

#乙個乙個獲取,取完後繼續使用next會報錯

#print(next(lt))#遍歷

for i in

lt:

print(i)

說明:任意方式的使用生成器,都只能時單次的。

def

test(n):

for i in range(1, n+1):

yield

it = test(5)

#生成器物件

print

(t)#

一次乙個獲取

#print(next(t))

#print(next(t))

#print(next(t))#遍歷

#for i in t:

#print(i)

#轉換為列表

print(list(t))

總結:

from collections import

iterator

lt = (i for i in range(10))

print(isinstance(lt, iterator))

將可迭代物件轉換為迭代器,使用專門的函式iter

示例:

lt = [1, 2, 3, 4]

defdouble(x):

return x * 2

#返回乙個生成器

#m = map(double, lt)

m = map(lambda x: x*x, lt)

print(list(m))

filter

示例:

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

#提取偶數

f = filter(lambda x: x%2==0, lt)

print(list(f))

reduce

示例:

from functools import

reduce

lt = [1, 2, 3, 4, 5]#求和

#s = reduce(lambda x,y: x+y, lt)

#轉換為12345

s = reduce(lambda x,y: x*10+y, lt)

print(s)

傳入n,計算

1!+2!+3!+...+n!

可以使用遞迴

Python基礎08 遞迴函式 內建函式

如果乙個函式在內部呼叫自己本身,這個函式就是遞迴函式。在使用遞迴時,需要注意以下幾點 1 自己呼叫自己 2 必須有乙個明確的遞迴結束條件,稱為遞迴出口。練習1 使用遞迴函式向控制台列印3,2,1 def print num num print num if num 1 return print nu...

Python自學 08 函式基礎(上)

就像中學所學的一樣,也可以稱之為 方法 可以用來解決各種數學計算或者實現切合實際的功能,例如計算圓的面積 s pi r r,只要知道半徑,什麼圓的面積都可以計算出來。這就是一種抽象,再舉個栗子 計算數列的和 1 2 3 100,可以抽象記成 而電腦程式也是一樣,函式就是一種最基本的一種 抽象的方式。...

Python基礎08 模組

在我們開發過程中,往往不會將所有的功能函式集中定義在同乙個檔案中。這樣做即增加了未來維護的成本,也降低了並行開發的效率。通常我們會將不同的功能寫在不同的py檔案中,而這些py檔案就稱為模組。import math 矩形面積 def rectangle x,y return x y 圓形面積 def ...