CodeGym /課程 /Python SELF TW /Python 中的函數

Python 中的函數

Python SELF TW
等級 6 , 課堂 1
開放

7.1 創建函數

在 Python 中創建函數是編程的一個基本方面,讓程式碼更具模組化、重用性和可讀性。Python 中的函數通過 關鍵字 def 定義,後面是函數名和帶有參數的括號。

你可以把函數想像成一組指令的集合,並給這個集合一個名字。函數定義的基本結構如下:


def 名稱(參數):
    指令1
    指令2
    指令N

最簡單的 Python 函數可能是這樣的:


def greet():
    print("Hello, World!")

你可以通過在函數名稱後加上括號來調用函數:


greet()  # 輸出: Hello, World!

調用函數等同於在調用處撰寫其內部程式碼。與其重複撰寫相同的程式碼,不如將其提取到單獨的塊中並命名。

7.2 向函數傳遞參數

使用函數不會那麼有趣,如果它們每次都做同樣的事 —— 僅僅是個有名字的指令塊。因此,對函數設計了參數 —— 可以通過它們將不同的值傳遞給函數的變數。

函數內的變數稱為函數參數。而在具體調用時傳遞給它們的值,稱為函數的參數。函數參數僅僅接收參數的值。


def greet(name):
    print("Hello,", name)
        
greet("Alice")  # 輸出: Hello, Alice!

帶有兩個參數的函數示例:


def print_sum(a, b):
    print(f"Sum {a} 和 {b} 等於 {a + b}")
        
print_sum(10, 15)  # 輸出: Sum 10 和 15 等於 25

當然,也可以將整個表達式傳遞作為參數:


def print_sum(a, b):
    print(f"Sum {a} 和 {b} 等於 {a + b}")
        
print_sum(10*10-123, 15//2)  # 輸出: Sum -23 和 7 等於 -16

有用的小提示! 對於 C/C++ 愛好者 所有 的變數在 Python 中都是從 C++ 角度來看的引用。函數的參數也是如此。在賦值時,值從不複製或重複分配 —— 始終僅賦值引用。

7.3 函數是一個對象

在 Python 中,函數是 一級對象,這意味着它們可以像其他對象一樣使用。這給開發者提供了一個強大的工具來創建靈活的軟件解決方案。

函數作為對象

作為一級對象,Python 中的函數可以:

  • 賦值給變量
  • 作為參數傳遞給其他函數
  • 從其他函數返回
  • 包括在數據結構中,如列表、字典

示例:


def shout(text):
    return text.upper()
        
yell = shout
        
def greet(func):
    greeting = func("Hello")  # 呼叫函數
    print(greeting)
        
greet(shout)

在未來我們還會多次探討這個主題,目前請記住 — 在 Python 中一切都是對象。函數、類別、錯誤、列表、模組等都是。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION