iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
Python

python介紹系列 第 20

Python進階語法(三)

  • 分享至 

  • xImage
  •  

魔法方法 (Magic Methods)
Python 提供了許多特殊的「魔法方法」來讓你控制類別的行為,比如運算符重載、對象比較等。
以下是範例程式:
class Vector:
def init(self, x, y):
self.x = x
self.y = y

def __add__(self, other):
    return Vector(self.x + other.x, self.y + other.y)

def __repr__(self):
    return f"Vector({self.x}, {self.y})"

v1 = Vector(1, 2)
v2 = Vector(3, 4)
print(v1 + v2) # Vector(4, 6)
在這裡,我們用 add 方法來讓兩個 Vector 對象可以直接用 + 號進行相加。

函數內部函數 (Nested Functions)
Python支援在一個函數裡定義另一個函數,這種情況通常在需要封裝邏輯或共享變量時使用。
以下是範例程式:
def outer_function(text):
def inner_function():
print(text)
inner_function()

outer_function("Hello from the inside!") # 打印 "Hello from the inside!"
內部函數可以存取外部函數的變量,這讓你的程式結構更具彈性。

閉包 (Closures)
閉包是指內部函數記住了外部函數的變量,即使外部函數已經返回,內部函數依然可以使用這些變量。
以下是範例程式:
def make_multiplier(n):
def multiplier(x):
return x * n
return multiplier

times3 = make_multiplier(3)
print(times3(10)) # 輸出 30
這樣的閉包技巧在構建可重用的邏輯時非常有用。


上一篇
Python進階語法(二)
下一篇
Python進階語法(四)
系列文
python介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言