python教程(三) 函式與模組

2021-09-10 07:08:30 字數 3777 閱讀 4832

函式,這和數學中的函式有點關聯,但又不是完全等價。

不說的這麼官方,我就已自己的理解來表達^_^

在數學中,把乙個或多個值(輸入x)進行一定的計算或者對映,得到乙個值(輸出y),這個計算或者對映的過程就叫做函式,可以表達成:y=f(x),其中f就是乙個函式。

計算機中的函式和數學中的函式是很像的,把一定的輸入(x),傳遞到乙個函式中,進行某些操作,最後也可返回結果(y)。這裡說的是「也」,意味著,在計算機中,函式是可以沒有輸出(y)的。

我們把函式的輸入稱為「引數」,函式輸出稱為「返回值」

我們可以把一段重複使用的**定義成函式,要用的時候只需要呼叫即可,不需要每次都寫那麼大段的**,這是一種「懶惰的智慧型」。

在python中,有很多內建的函式,我們常用的print就是乙個函式,在使用時,括號裡的就是我們的引數,而這個函式是沒有返回值的。

對了╰( ̄▽ ̄)╭,其實在python中沒有返回值的函式,都隱式地返回了乙個none空值,這打臉真快(°ー°〃)

在這裡以print函式為例,講解函式的使用。

我們可以這樣呼叫print函式,而不用自己編寫print函式內部的大量**:

# 傳遞乙個字串'hello world'作為引數給print函式

print

('hello world!'

)# 傳遞多個引數,預設以空格分開輸出每個引數,其它型別的值自動轉換成字串型別

print

('1',2

,'3'

)

在呼叫函式的時候,只需寫出函式名,並跟一對括號,括號裡的填寫函式所需的引數即可。

現在再來看另乙個例子,前面曾介紹過使用冪運算子**來計算乘方,現在我們可以用pow函式來替代這個運算子,下面是計算23:

>>

>2**

38>>

>

pow(2,

3)8>>

>

顯然,第乙個引數是底數,第二個引數是冪,函式返回值為計算的結果8,這個pow函式就很符合數學中的函式的特徵了,有輸入(引數),有輸出(返回值),我們還可以結合函式呼叫和運算子做更複雜的語句,像下面這樣,不用**運算子計算 1 + 210:

>>

>1+

pow(2,

10)1025

>>

>

到目前為止,我們還沒學過怎麼獲取使用者的輸入,早就該提了,可是博主認為還是應該理解函式之後再接觸較好,所以只能拖到現在了,真是不好意思

好了,廢話不多說,現在來介紹主角:input函式,上**!

print

("下面計算a+b"

)a =

int(

input

("請輸入a:"))

b =int

(input

("請輸入b:"))

print

("a + b = "

, a+b)

由於需要互動,用文字不好表達,現在放上一張**自己感受感受!

input函式接受乙個字串引數,並輸出這個引數,等待使用者的輸入,按下回車後,輸入的這一行字串作為返回值返回出去。

上面的input函式呼叫是放在int()中的,意味著我們用int()將字串轉換成整數型別,這樣才可以進行整數運算,如果我們輸入的字串不是數字,那麼轉換就會失敗,強烈建議讀者親自嘗試一下!

其它有用的函式,這裡直接給出例子,具體看注釋:

>>

>

abs(-10

)# 取絕對值

10>>

>

round

(1.5

)# 四捨五入

2>>

>

sum([1

,2,3

,4,5

])# 將乙個列表或者類似的資料型別中的所有元素加起來

15>>

>

round函式用於四捨五入,有時候我們需要把數值向下取整,我們可以利用int()轉換成整數時截斷小數來實現,也可以使用乙個叫floor的函式實現,這個函式不能直接使用,它存在於乙個模組中。

我們可以把功能類似的函式,比如用於數**算的函式,放到乙個模組中統一管理,python有很多優秀的內建模組,其中還真有乙個數學相關的模組,稱為math。

我們可以使用關鍵字import匯入模組,像下面這樣使用前面提到的floor函式對數值向下取整:

>>

>

import math # 匯入模組

>>

> math.floor(

1.9)

# 使用math模組中的floor函式

1>>

>

如果不想每次呼叫函式都在前加上模組名字的話,可以使用以下的形式:

>>

>

from math import ceil

>>

> ceil(

12.1

)# 向上取整

13>>

>

像上面那樣,使用from 模組 import 函式1,函式2,函式3這種形式的import語句,可以直接使用函式的名字進行呼叫,但是要確保不要存在同名的函式,如果存在同名的函式,使用的是後匯入的函式。

還有一種形式的import語句,新增as關鍵字可以為函式或者模組設定別名,比如:

# 把floor匯入使用fl作為別名,把ceil匯入並使用ce作為別名

from math import floor as fl,ceil as ce

print

('fl(12.9) is'

, fl(

12.9))

# 向下取整

print

('ce(14.1) is'

, ce(

14.1))

# 向上取整

# 匯入math模組,使用別名m

import math as m

print

('m.floor(12.9) is'

, m.floor(

12.9))

print

('m.ceil(14.1) is'

, m.ceil(

14.1))

print

('m.sqrt(4) is'

, m.sqrt(4)

)# 計算4的平方根

小提示:其實,我們還可以把函式賦值給乙個變數,使用變數來呼叫函式,比如func=math.floor,然後就可以使用func(12.9)來呼叫floor函式對12.9向下取整了

這一節我們學習了函式和模組的概念,並使用input函式獲取輸入,增加程式的互動,下一節將介紹如何自己建立函式,並在結束函式的學習後,做乙個像樣的小例子,敬請期待ヾ( ̄▽ ̄)bye~bye~

python 函式與模組

1,定義函式 def 函式名 參數列 函式語句 return 發回值 引數和返回值都可以省略 def hello print xyf 無敵 hello 2,引數傳遞 def add a,b return a b print add a b 順序依次傳遞 print add b a a b 按形參賦值...

簡明python教程三 函式

函式通過def關鍵字定義。def關鍵字後跟乙個函式的表識別符號名稱,然後跟一對圓括號。圓括號之中可以包括一些變數名,該行以冒號結尾。接下來是一塊語句,它們是函式體。def sayhello print hello world sayhello 函式形參是在函式定義的圓括號對內指定,用逗號分隔。def...

Python模組glob函式示例詳解教程

目錄 glob模組也是python標準庫中乙個重要的模組,主要用來查詢符合特定規則的目錄和檔案,並將搜尋的到的結果返回到乙個列表中。使用這個模組最主要的原因就是,該模組支援幾個特殊的正則萬用字元,用起來賊方便,這個將會在下方為大家進行詳細講解。使用glob模組能夠快速查詢我們想要的目錄和檔案,就是由...