python3 基礎知識 六 函式 下

2021-08-25 08:26:43 字數 2455 閱讀 8722

所謂「返回值」,就是程式中函式完成一件事情後,最後給呼叫者的結果

如下示例:

def add2num(a, b):

c = a+b

return c

或者def add2num(a, b):

return a+b

儲存函式的返回值示例如下:

#定義函式

def add2num(a, b):

return a+b

#呼叫函式,順便儲存函式的返回值

result = add2num(100,98)

#因為result已經儲存了add2num的返回值,所以接下來就可以使用了

print result

結果: 198

函式根據有沒有引數,有沒有返回值,可以相互組合,一共有4種

此類函式,不能接收引數,也沒有返回值,一般情況下,列印提示燈類似的功能,使用這類的函式

def printmenu():

print('--------------------------')

print(' xxktv 點菜系統')

print('')

print(' 1\. 周柏豪')

print(' 2\. 方力申')

print(' 3\. 鄧麗欣')

print('--------------------------')

結果:

此類函式,不能接收引數,但是可以返回某個資料,一般情況下,像採集資料,用此類函式

# 獲取溫度

def gettemperature():

#這裡是獲取溫度的一些處理過程

#為了簡單起見,先模擬返回乙個資料

return 24

temperature = gettemperature()

print('當前的溫度為:%d'%temperature)

結果:

當前的溫度為: 24
此類函式,能接收引數,但不可以返回資料,一般情況下,對某些變數設定資料而不需結果時,用此類函式

此類函式,不僅能接收引數,還可以返回某個資料,一般情況下,像資料處理並需要結果的應用,用此類函式

# 計算1~num的累積和

def calculatenum(num):

result = 0

i = 1

while i<=num:

result = result + i

i+=1

return result

result = calculatenum(100)

print('1~100的累積和為:%d'%result)

結果:

1~100的累積和為: 5050
函式根據有沒有引數,有沒有返回值可以相互組合

定義函式時,是根據實際的功能需求來設計的,所以不同開發人員編寫的函式型別各不相同

def testb():

print('---- testb start----')

print('這裡是testb函式執行的**...(省略)...')

print('---- testb end----')

def testa():

print('---- testa start----')

testb()

print('---- testa end----')

testa()

結果:

---- testa start----

---- testb start----

這裡是testb函式執行的**...(省略)...

---- testb end----

---- testa end----

乙個函式裡面又呼叫了另外乙個函式,這就是所謂的函式巢狀呼叫

如果函式a中,呼叫了另外乙個函式b,那麼先把函式b中的任務都執行完畢之後才會回到上次 函式a執行的位置

python3 基礎知識 六 函式 上

函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。定義函式 定義函式的格式如下 def 函式名 demo 定義乙個函式,能夠完成列印資訊的功能 def printinfo print print 人生...

python3 函式 基礎知識二

1.python 函式的引數傳遞 1.傳遞方式 位置傳參 序列傳參 關鍵字傳參 字典關鍵字傳參 2.位置傳參 實際呼叫引數 實參 的對應關係與形式引數 形參 的對應關係 是按位置來一次對應的 示意 def fx a,b,c pass fx 1,2,3 3.序列傳參 序列傳參是批在函式呼叫過程中,用 ...

python3 基礎知識 函式應用 上

乙個程式的所有的變數並不是在哪個位置都可以訪問的。訪問許可權決定於這個變數是在 賦值的。變數的作用域決定了在哪一部分程式你可以訪問哪個特定的變數名稱。兩種最基本的變數作用域如下 demo如下 定義全域性變數 a 100 def test1 print a def test2 print a 呼叫函式...