python中函式的返回值和引數

2021-08-21 05:22:59 字數 1867 閱讀 9067

return的作用:(1)作為函式的返回值   (2) 提前結束函式的呼叫  -->提高程式的效能

return後面可以是元組,列表、字典等,只要是能夠儲存多個資料的型別,就可以一次性返回多個資料

def function():

# return [1, 2, 3]

# return (1, 2, 3)

return

如果return後面有多個資料,那麼預設是元組

def divid(a, b):

shang = a//b

yushu = a%b

return shang, yushu #預設是元組

result = divid(5, 2)

print(result) # 輸出(2, 1)

(1) 預設引數

在形參中預設有值的引數,稱之為預設引數

def my_print(name, age=18):

print("姓名:%s 年齡:%d" % (name, age))

呼叫函式時,預設引數的值如果沒有傳入,則取預設值

如果傳入了預設引數的值,那麼預設引數的預設值將被覆蓋

my_print("小剛")

# 輸出 姓名:小剛 年齡:18

my_print("小強", 30)

# 輸出 姓名:小強 年齡:30

注意:定義函式的時候,帶有預設值的引數一定要位於引數列表的最後面;如果某個函式是預設引數, 那麼後面的引數必須全為預設引數

def my_print(name, age=18, no="001"):

print("姓名:%s 年齡:%d" % (name, age))

def my_print(name,no, age=18):

print("姓名:%s 年齡:%d" % (name, age))

(2)不定長引數

加了星號(*)的變數args會存放所有未命名的變數引數,args為元組

def my_func(*args):

print(type(args))

print(args[0])

print(args[1])

print(args[2])

print(args[3])

# 呼叫

my_func(10, 3.14, true, "hello", 5, 22)

加**的變數kwargs會存放命名引數,即形如key=value的引數, kwargs為字典.

def func(**kwargs):

print(len(kwargs))

print(type(kwargs))

print(kwargs["name"])

print(kwargs["age"])

print(kwargs["no"])

func(name="小明", age=18, no="007")

如果很多個值都是不定長引數,那麼這種情況下,可以將預設引數放到 *args的後面, 但如果有**kwargs的話,**kwargs必須是最後的

def sum_nums_3(a, *args, b=22, c=33, **kwargs):

print(a)

print(b)

print(c)

print(args)

print(kwargs)

sum_nums_3(100, 200, 300, 400, 500, 600, 700, b=1, c=2, mm=800, nn=900)

函式返回值和形參

函式包括了除函式名以外還有返回值和形參。這個形參包括了傳入引數和傳出引數 傳入引數 就是數值的傳遞。在函式中不會修改這個引數,不會修改呼叫這個函式的函式的值。例如void exchange int a,int b int main 輸出的結果是 a 4 b 5 這是傳參,僅僅是乙個數值的傳遞。在呼叫...

Python中函式的返回值

print和return的區別,print僅僅是列印在控制台,而ruturn則是將return後面的部分作為返回值,也就是函式的輸出.函式需要先定義後呼叫,函式體中return語句的結果就是返回值 如果乙個函式沒有return語句,其實它有乙個隱含的return語句,返回值是none,型別也是non...

python中函式的返回值

函式的返回值 函式呼叫時的引數傳遞實現了從函式外部向函式內部輸入資料,而函式的return語句實現了從函式內部向函式外部輸出資料。此處需注意,如果函式定義時省略return語句或者只有return而沒有返回值,則python將認為該函式以 return none 結束,none代表沒有值,如例所示。...