Python學習 第四天

2021-09-23 23:56:14 字數 2641 閱讀 5806

map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next()函式來訪問每個值。

map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代器返回。

def f(x):

return x*x

result=map(f,range(0,5))

for var in result:

print(var)

#結果:01

4916#函式簡單可以直接用匿名函式:

result=map(lambda x:x+6,[1,2,3])

for i in result:

print(i)

#結果:78

9

reduce函式接收兩個引數,乙個是函式f,乙個是iterator,其中函式f必須接收兩個引數。reduce在iterator的第一二個元素上執行函式f得到結果res,然後將結果res繼續與第三個元素作為函式f的兩個引數執行函式f,直到遍歷完成。

注意:使用reduce函式時,需要利用from functools import reduce語句引入functools模組的reduce函式,否則會執行出錯。

from functools import reduce

def f(x,y):

return x+y

result= reduce(f,range(0,5))

print(result)

#結果:

10#函式簡單,用匿名函式

from functools import reduce

result= reduce(lambda x,y:x-y,[1,2,3])

print(result)

#結果:

-4

filter()也是python常用的內建函式,用於過濾序列。與map()類似,fiter()也是接收兩個引數:乙個函式和乙個序列,將函式作用在序列的每乙個元素上,根據函式返回值true或false,來決定是否捨棄該元素,最終返回乙個迭代器,內容是原序列的子串行。例如:

def f1(x):

return x%2==0

a=filter(f1,range(0,5))

print(a)

for i in a:

print(i)

#結果0

24

用匿名函式的形式來使用filter函式:(find函式的用法:如果包含子字串返回開始的索引值,否則返回-1)

str_tuple = ("hipython","pyth","lovepython","python","xmu")

result = filter((lambda x:x.find("python")!=-1), str_tuple)

for str in result:

print(str)

#結果hipython

lovepython

str_list = ["abcde","12345","python","xmu","hello"]

result = filter((lambda x:len(x)==5), str_list)

for str in result:

print(str)

#結果abcde

12345

hello

模組是乙個包含函式和變數的檔案,其字尾名是.py。

(1)import語句

模組可以被別的程式通過import方式引入,從而可以使用該模組中的函式等功能,提公升**復用性。這也是使用 python 標準庫的方法。

(2)from...import...語句

from...import...語句可以匯入某乙個模組的指定函式,與import語句不同在於,其呼叫模組的方法時不需要加模組名。語句from support import *可以引入support模組的所有函式。

##########test1.py中##########

def sayhello(name):

print("hello",name)

def sayhi(name):

print("hi",name)

#########test2.py執行########

from test1 import *

sayhi("tom")

sayhello("tom")

#結果hi tom

hello tom

#########test3.py執行########

import test1

sayhi("tom")

#結果nameerror: name 'sayhi' is not defined

改為import test1

test1.sayhi("tom")

#結果hi tom

注意:當引入不同模組的相同方法名時,以最後引入的方法為準。

學習python 第四天

python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...

學習python,第四天

echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...

python學習第四天

在python中可以用r 來表示字串,內部的字串預設不轉譯。空值 空值是python裡乙個特殊的值,用none表示。none不能理解為0,因為0是有意義的,而none是乙個特殊的空值。除法,得到整數值 除法,得到餘數 除法,得到浮點數 unicode編碼 utf 8 編碼 python提供ord 函...