07 函式使用

2021-08-22 02:32:09 字數 2450 閱讀 7610

# 列表生成式

# lt = [i for i in range(10)]

# 生成器方式1:將列表生成式的改為()

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

# 可以轉換為列表

# print(list(lt))

# 可以進行遍歷

# for i in lt:

# print(i, end=' ')

# 可以乙個乙個提取,當遍歷完畢後再使用next會報stopiteration錯

print(next(lt))

print(next(lt))

print(next(lt))

def

test

(n):

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

# 執行到此處,函式會返回yield後的值,然後停在這裡

yield i

t = test(3)

# print(t)

# 可以使用next乙個乙個提取

# print(next(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)]

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

print(isinstance(lt, iterator))

判斷:乙個物件是否可迭代

from collections import iterable

lt = [1, 2, 3]

print(isinstance(lt, iterable))

iter:將可迭代物件轉換為迭代器

from collections import iterable, iterator

lt = [1, 2, 3]

# 將乙個可迭代物件轉換為迭代器

lt = iter(lt)

print(isinstance(lt, iterable))

print(isinstance(lt, iterator))

func:乙個函式

iter1:乙個可迭代物件

from collections import iterator

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

defpingfang

(x):

return x * x

# 返回乙個迭代器

ret = map(pingfang, lt)

# ret = map(lambda x: 2 * x, lt)

print(isinstance(ret, iterator))

print(list(ret))

filter

function:過濾函式

iterable:可迭代物件

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

defoushu

(x):

return x%2 == 0

# f = filter(oushu, lt)

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

print(list(f))

reduce

function:處理函式

sequence:序列(容器物件)

1.首先從序列中取出兩個元素,作為處理函式的引數

2.處理完的結構與下乙個元素進行使用處理函式處理

3.處理結束,將處理完的結果返回

from functools import reduce

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

defadd

(a, b):

return a + b

# ret = reduce(add, lt)

# 轉換為12345

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

print(ret)

sorted

使用遞迴,完成傳入n,返回1! + 2! + 3! + ... + n!

python 07(函式的使用)

8 19 2019 1 14 周一 匿名函式 res lambda x x 1 lambda是匿名函式的定義其中res接受的是位址。其中x表示的是輸入值。print res 10 匿名函式裡面是簡單的語句,不能加複雜的邏輯結構。把函式當成引數傳遞給另乙個函式,如果沒有返回值,則返回none 返回值也...

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的...

07庫函式編寫

1 字串查詢 給定乙個字串a,要求在a中查詢乙個子串b。如a abcdf 要你在a中查詢子串b cd 初步 如下 int strstr char string,char substring if j lensub return i 1 return 1 針對這個strstr的函式,我覺得有點小問題。...