Python_從零開始學習_(21) 函式的返回值和巢狀呼叫
阿新 • • 發佈:2018-11-09
1. 函式的返回值
- 在程式開發中, 有時候, 會希望 一個函式執行結束後, 告訴呼叫者一個結果, 以便呼叫者針對具體的結果做後續的處理
- 返回值 是函式 完成工作 後, 最後 給呼叫者的 一個結果
- 在函式中適用 return 關鍵字可以返回結果
- 呼叫函式一方, 可以 使用變數 來 接收 函式的返回結果
注意: return 表示返回, 後續的程式碼都不會被執行
def sun_sum(num1, num2): """"兩個數求和""" result = num1 + num2 # 使用返回值, 告訴呼叫函式一方計算的結果 return result # 注意: return 就表示返回, 下方的程式碼不會被執行 # 使用變數接收 sum_result = sun_sum(2, 5) print("計算結果: %d" % sum_result)
2. 函式的巢狀呼叫
- 一個函式裡面 有呼叫了 另一個函式, 這就是函式巢狀呼叫
- 如果函式 test2 中, 呼叫了另外一個函式 test1
- 那麼執行到 text1 函式時, 會先把函式 text2 中的任務都執行完
- 才會回到 text2 中呼叫函式 text1 的位置, 繼續執行後續的程式碼
def test1(): print("*" * 5) def test2(): print("-" * 5) # 函式的巢狀呼叫 test1() test2()
3. 函式巢狀的演練 ---- 列印分割線
多變的需求 -----
需求 1
- 定義一個 print_line 函式能夠列印 * 組成的 一條分割線
def print_line1():
print("*" * 50)
print_line1()
需求 2
- 定義一個函式能夠列印 由任意字元組成 的分隔線
def print_line2(line):
print(line * 50)
print_line2("-")
需求 3
- 定義一個函式能夠列印 任意重複次數 的分割線
def print_line3(line, num):
print(line * num)
print_line3("+", 50)
需求 4
- 定義一個函式能夠列印 5 行 的分隔線, 分割線要求符合 需求 3
提示: 工作中針對需求的變化, 不要輕易修改之前的封裝好的函式
def print_line4(line, num):
"""
列印多行分割線
:param line: 分割線字元
:param num: 分割線數量
"""
row = 0
while row < 5:
print(line * num)
print("") # 換行
row += 1
print_line4("-", 50)
需求 5
- 定義一個函式能夠自定義列印行數 的分隔線, 分割線要求符合 需求 3
def print_line3(line, num):
print(line * num)
def print_line5(num):
"""
:param num: 要列印的行數
"""
row = 0
while row < num:
print_line3("+", 50) # 巢狀呼叫
print("")
row += 1
print_line5(5)