在這一課中,我們會介紹Python的一些進階特性,包括裝飾器、生成器和上下文管理器。
- 裝飾器 (Decorators) 裝飾器是一種可以修改其他函數的功能的函數。它們可以幫助你使代碼更簡潔,更Pythonic。
- 檔名:
decorator_example.py
pythonCopy code
def my_decorator(func):
def wrapper():
print("函數執行之前的操作")
func()
print("函數執行之後的操作")
return wrapper
@my_decorator
def say_hello():
print("你好!")
say_hello()
# 輸出:
# 函數執行之前的操作
# 你好!
# 函數執行之後的操作
- 生成器 (Generators) 生成器是一種特殊的迭代器,可以只在迭代到它們時產生值。
- 檔名:
generator_example.py
pythonCopy code
def my_generator():
yield 1
yield 2
yield 3
for i in my_generator():
print(i)
# 輸出:
# 1
# 2
# 3
- 上下文管理器 (Context Managers) 上下文管理器用於設定資源在某個代碼塊之前的分配,並在代碼塊結束後的釋放。
- 檔名:
context_manager_example.py
pythonCopy code
class MyContextManager:
def __enter__(self):
print("進入上下文")
def __exit__(self, exc_type, exc_value, traceback):
print("退出上下文")
with MyContextManager():
print("在上下文中")
# 輸出:
# 進入上下文
# 在上下文中
# 退出上下文
請在相應的文件中輸入並運行上述代碼片段。
這些進階主題會幫助你撰寫更高效、更Pythonic的代碼。