iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Python

python介紹系列 第 27

Python進階語法(十)

  • 分享至 

  • xImage
  •  

槽函數 (Slot Functions)
你可以在類中使用 slots 限制實例的屬性,從而節省內存。
class Car:
slots = ['make', 'model']

def __init__(self, make, model):
    self.make = make
    self.model = model

car = Car("Toyota", "Corolla")
#car.year = 2020 # 這行會報錯,因為 'year' 不在 slots
適合處理大量物件,幫助減少記憶體消耗。

assert 語句
在開發和測試階段,可以用 assert 來輕鬆檢查某些條件是否為真,方便進行除錯。
def divide(a, b):
assert b != 0, "除數不能為零"
return a / b

print(divide(10, 2)) # 正常運作
print(divide(10, 0)) # 會引發 AssertionError
這樣能快速發現問題,特別是在處理臨界條件時。

asyncio 非同步編程
asyncio 讓你可以寫非同步代碼,不需要阻塞程序。這適合 I/O 密集型操作。
import asyncio

async def fetch_data():
print("開始抓取資料")
await asyncio.sleep(2) # 模擬I/O操作
print("資料抓取完成")

asyncio.run(fetch_data())
這樣可以在執行其他操作的同時,不用等待某個步驟完成。

解析命令行參數 (argparse)
argparse 是用來處理命令行參數的標準庫,讓你可以輕鬆解析使用者輸入的參數。
import argparse

parser = argparse.ArgumentParser(description="範例程式")
parser.add_argument('--name', type=str, help='輸入你的名字')
args = parser.parse_args()
print(f"Hello, {args.name}!")
這樣可以快速構建命令行工具,讓程序更靈活。


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

尚未有邦友留言

立即登入留言