Python基礎學習 函式

2021-08-19 17:45:12 字數 3541 閱讀 7193

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

函式能提高應用的模組性,和**的重複利用率。你已經知道python提供了許多內建函式,比如print()。但你也可以自己建立函式,這被叫做使用者自定義函式。

你可以定義乙個由自己想要功能的函式,以下是簡單的規則:

任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

函式內容以冒號起始,並且縮排。

return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。

python 定義函式使用 def 關鍵字,一般格式如下:

def

函式名(引數列表):

函式體

預設情況下,引數值和引數名稱是按函式宣告中定義的順序匹配起來的

讓我們使用函式來輸出"hello world!":

>>> def hello() :

print("hello world!")

>>> hello()

hello world!

>>>

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

python 函式的引數傳遞:

python 中一切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳可變物件。

以下是呼叫函式時可使用的正式引數型別:

必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。

呼叫printme()函式,你必須傳入乙個引數,不然會出現語法錯誤:

#!/usr/bin/python3

#可寫函式說明

def printme( str ):

"列印任何傳入的字串"

print (str)

return

#呼叫printme函式

printme()

以上例項輸出結果:
traceback (most recent call last):

file "test.py", line 10, in printme()

typeerror: printme() missing 1 required positional argument: 'str'

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

以下例項在函式 printme() 呼叫時使用引數名:

#!/usr/bin/python3

#可寫函式說明

def printme( str ):

"列印任何傳入的字串"

print (str)

return

#呼叫printme函式

printme( str = "菜鳥教程")

以上例項輸出結果:菜鳥教程

以下例項中演示了函式引數的使用不需要使用指定順序:

#!/usr/bin/python3

#可寫函式說明

def printinfo( name, age ):

"列印任何傳入的字串"

print ("名字: ", name)

print ("年齡: ", age)

return

#呼叫printinfo函式

printinfo( age=50, name="runoob" )

以上例項輸出結果:
名字:  runoob

年齡: 50

呼叫函式時,如果沒有傳遞引數,則會使用預設引數。以下例項中如果沒有傳入 age 引數,則使用預設值:

#!/usr/bin/python3

#可寫函式說明

def printinfo( name, age = 35 ):

"列印任何傳入的字串"

print ("名字: ", name)

print ("年齡: ", age)

return

#呼叫printinfo函式

printinfo( age=50, name="runoob" )

print ("------------------------")

printinfo( name="runoob" )

以上例項輸出結果:

名字:  runoob

年齡: 50

------------------------

名字: runoob

年齡: 35

你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名。基本語法如下:

def functionname([formal_args,] *var_args_tuple ):

"函式_文件字串"

function_suite

return [expression]

加了星號(*)的變數名會存放所有未命名的變數引數。如果在函式呼叫時沒有指定引數,它就是乙個空元組。我們也可以不向函式傳遞未命名的變數。如下例項:

#!/usr/bin/python3

# 可寫函式說明

def printinfo( arg1, *vartuple ):

"列印任何傳入的引數"

print ("輸出: ")

print (arg1)

for var in vartuple:

print (var)

return

# 呼叫printinfo 函式

printinfo( 10 )

printinfo( 70, 60, 50 )

以上例項輸出結果:
輸出:

10輸出:

7060

50

return [表示式]語句用於退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。之前的例子都沒有示範如何返回數值,以下例項演示了 return 語句的用法:

#!/usr/bin/python3

# 可寫函式說明

def sum( arg1, arg2 ):

# 返回2個引數的和."

total = arg1 + arg2

print ("函式內 : ", total)

return total

# 呼叫sum函式

total = sum( 10, 20 )

print ("函式外 : ", total)

以上例項輸出結果:
函式內 :  30

函式外 : 30

python基礎學習 函式基礎

author feng lin date 2018 8 27 返回值的三種情況 一.沒有返回 返回none 不加 return 預設返回none return 執行到這裡跳出函式體 return none 不常用,沒意義 defmy return print my defmy return none...

python學習 函式基礎

函式 1.定義函式 def關鍵字,依次寫出函式名 括號 括號中的引數和冒號 在縮排塊中編寫函式體,函式的返回值用 return 語句返回,無返回值時預設為none。2.呼叫函式 python 內建了很多有用的函式,我們可以直接呼叫 abs 求絕對值 資料型別轉換數 int float str uni...

python基礎學習四 python函式

python函式 1 當定義了乙個函式,比如test 並儲存在檔案fun.py中,可以在檔案的當前目錄下啟動python直譯器,用from fun import test來匯入test函式。2 當傳入的引數的個數不對時,python會自動報錯,但是如果是函式型別不對,則除了python內建函式,自定...