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代表沒有值,如例所示。...