Python基礎語法函式

2022-05-16 17:19:57 字數 3210 閱讀 8945

python中的函式與數學中的函式不同,它不再只是公式,而是實實在在有著自己特定功能的**。其實在潛移默化中我們已經有所接觸了。

比如print()函式,range()函式,type()函式等。

函式各式各樣,或簡單或複雜,但其本質卻好是相通的:給函式一些資料,函式進行處理,輸出你想要的東西。

函式名後面的括號裡放引數,引數即要處理的資料。

函式的定義:函式是組織好的、可以重複使用的、用來實現單一功能的**。

語法如下:

def 函式名(引數1,引數2,...,引數n):

函式體return 語句

第1行:

def的意思是定義(define),「函式名」需自己取,再是乙個括號和冒號,括號裡面的是引數,引數名也是自己取,最後是乙個冒號。

第2行:

def下一行縮排的**是函式要實現的功能,也叫「函式體」。

第3行:

return 語句。函式內部一旦遇到return語句,就會停止執行並返回結果。沒有return語句的函式,python也會在末尾隱性地加上return none,即返回none值(return none可以簡寫為return)。所以你會看到很多例子是省略return語句的。

注意事項:

函式名的選取要體現函式功能,一般用小寫字母和單下劃線、數字等組合;

根據函式功能,括號可能含有多個引數,也可不帶引數,命名規則與函式名相同;

函式後面的冒號不能丟

函式體的縮排不能丟

定義函式是將函式的內部功能封裝起來,等待被呼叫。

在python裡,呼叫就是輸入函式名和引數對應的值。

例子:

# 定義3個函式

def express():

print('我愛你')

def express1(name):

print('我愛你'+ name)

def express2(name,person):

print('我愛你'+name)

print('我愛你'+person)

# 分別呼叫3個函式

express()

express1('中國')

express2('中國','中國人民')

呼叫函式最關鍵的是得清楚函式引數的個數,還有引數的賦值,即引數的傳遞。

為了便於理解函式的基本語法,舉的例子很簡單。其實大部分函式都很複雜,但我們只需明白函式能實現什麼功能,懂的如何去給函式傳遞引數,會正確運用函式解決問題即可。

主要的引數型別有:位置引數預設引數不定長引數

舉例說明:

假設你開了個飯館,顧客可任意點菜。但因人手不足,所以只能為每個人提供乙份開胃菜和乙份主食。如果寫成函式的形式,這個函式就會有兩個引數。

print('主食:'+ course)

menu('果仁菠菜','蘭州拉麵')

如果用等號指定賦值,就可不用理會引數位置,如:

接下來是「預設引數」,還用上述例子。

假如食堂為每位來客提供一道免費甜品冰淇淋,那麼例子如下:

print('主食:'+ course)

print('甜品:'+ dessert)

menu('果仁菠菜','蘭州拉麵')

因為已經預設把'冰淇淋'傳遞給dessert,呼叫時無需再傳遞一遍。

如果乙個引數的值是相對固定的,那麼設定預設引數就免去了每次都要傳遞的麻煩。

但預設引數並不意味著不能改變,如下:

print('主食:'+ course)

print('甜品:'+ dessert)

menu('果仁菠菜','蘭州拉麵')

menu('果仁菠菜','蘭州拉麵','山楂羹')

前兩個引數已有對應的值傳遞,python會自動將'山楂羹'傳遞給引數dessert。

下面是「不定長引數」,即不確定傳遞引數的數量。繼續上述例子。

飯店晚上開始賣燒烤,每個人點串的數量不等,舉例如下:

def menu(*barbeque):

print(barbeque)

menu('烤肉串','烤韭菜','烤鱈魚')

輸出結果為:('烤肉串', '烤韭菜', '烤鱈魚'),這種資料型別叫做元組(tuple)。

元組的寫法是 把資料放在小括號()中,它的用法和列表用法類似,主要區別在於列表中的元素可以隨時修改,但元組中的元素不可更改。

我們也可以先生成乙個元組,再傳入引數。上述**等價於:

order = ('烤肉串','烤韭菜','烤鱈魚')

def menu(*barbeque):

print(barbeque)

menu(*order)

和列表一樣,元組是可迭代物件,這意味著我們可以用for迴圈來遍歷它,這時候的**就可以寫成:

print('主食:'+ course)

print('甜品:'+ dessert)

for i in barbeque:

print('燒烤:' + i)

menu('果仁菠菜','蘭州拉麵','烤肉串','烤韭菜','烤鱈魚')

注意:此時預設引數要放在不定長引數的後面,即dessert=』冰淇淋'要放在*barbeque後面,否則傳遞的值會對應不上。

還有如下情況,預設引數被指定賦值時,位置能夠呼應即可:

print('主食:'+ course)

print('甜品:'+ dessert)

for i in barbeque:

print('燒烤:' + i)

menu('果仁菠菜','蘭州拉麵','山楂羹','烤肉串','烤韭菜','烤鱈魚')

前面我們提到,return是返回值,當你輸入引數給函式,函式就會返回乙個值給你。每個函式都會有返回值。

就像len(), type()函式一樣,會返回乙個值,然後,我們可以呼叫這個值,比如用print()函式列印出來。

但print()函式本身比較特殊,它在螢幕上顯示完相關的文字內容就完活兒了,並不會返回乙個值。所以,它返回的是空值(none)。

在自定義函式的時候,我們就可以用return語句規定該函式要返回什麼值給我們。

帶return語句的函式是這樣的:

Python基礎語法 關於函式

關於函式部分的知識,梳理總結如下 一 什麼是函式 函式是組織好的,可以重複利用的,用來實現某一功能的 比如用到的列印函式print 就是完成資料列印的功能。二 定義函式 函式可以由我們自己來進行建立,語法如下 def 函式名 引數 函式體例 def method1 x y 3 x 5 return ...

Python基礎語法2 函式

1.定義 def 函式名 引數1,引數2,引數n 函式體return 語句 例如 def greet name print name 早上好 2.呼叫 例如 greet 貝貝 4.return 可以返回多個值,對映資料型別元素 tuple def love name1,name2 face name...

Python 基礎語法 隨機函式

函式是不能直接訪問的,需要匯入 random 模組,然後通過 random 靜態物件呼叫該方法。import random 方法返回隨機生成的乙個實數,它在 0,1 範圍內。import random random.random 返回隨機生成的乙個 0,1 範圍內的實數。import random ...