【Python基礎】函數的返回

本文標識 : P00021採藥

本文編輯 : 採藥

編程工具 : Python

閱讀時長 : 5分鐘


很多時候,函數並非直接輸出,相反,它可以處理一些數據,並返回一個值或者一組值,稱之為返回值。

返回簡單值

我們定義一個函數,接受姓和名,然後返回完整的姓名。

def get_full_name(first_name,last_name):      full_name = first_name + " " + last_name      return full_name.title()    name = get_full_name('jimi','alex')  print(name)

輸出結果:

Jimi Alex

返回字典

def build_person(first_name,last_name):      person = {"first":first_name,"last":last_name}      return person    name = build_person('jimi','alex')  print(name)

輸出結果:

{'last': 'alex', 'first': 'jimi'}

結合使用函數和while循環

這裡我們嘗試用更正規的方式跟用戶打招呼。

def get_formatted_name(first_name,last_name):      full_name = first_name + " " + last_name      return full_name.title()    while True:      print("nPleast tell me your name: ")      print("(enter 'q' to quit)")        f_name=input("First_name: ")      if f_name =='q':          break        l_name=input("Last_name: ")      if l_name =='q':          break        formatted_name = get_formatted_name(f_name,l_name)      print("nHello, " + formatted_name + "!")

首先我們定義了一個姓名處理函數,然後讓用戶輸入姓名,然後跟用戶打招呼,並且設置了退出循環的操作。

輸出結果:

Pleast tell me your name:  (enter 'q' to quit)  First_name: eric  Last_name: matthes    Hello, Eric Matthes!    Pleast tell me your name:  (enter 'q' to quit)  First_name: q

傳遞列表

我們有一個列表,列表中都是用戶的姓名,我們需要用上述的greet_user()函數給每個用戶打招呼。

def greet_user(names):      for name in names:          msg = "Hello, " + name.title() + "!"          print(msg)    usernames = ['tom','bob','ty']  greet_user(usernames)

輸出結果:

Hello, Tom!  Hello, Bob!  Hello, Ty!

其實我們只需要在定義函數的時候稍加改動就ok啦。

傳遞任意數量的實參

def greet_user(names):      for name in names:          msg = "Hello, " + name.title() + "!"          print(msg)    usernames = ['tom','bob','ty']  greet_user(usernames)

形參*toppings,星號是讓python創建一個名為toppings的空白元組,並將接受的所有值都存入這個元組。

輸出結果:

('pepperoni',)  ('green tea', 'cheese', 'apple')