Union (hoặc | từ Python 3.10+)
Union
cho phép một biến hoặc một tham số có thể có nhiều kiểu giá trị.
Nó đến từ module typing
, và được dùng nhiều trong type hinting để mô tả biến có thể là kiểu A hoặc kiểu B
.
from typing import Union
def func(x: Union[int, str]):
...
Từ Python 3.10 trở lên, bạn có thể dùng cú pháp ngắn hơn:
def func(x: int | str):
...
Ví dụ thực tế: Gửi thông báo
from typing import Union
def send_notification(user: Union[int, str]):
if isinstance(user, int):
print(f"Gửi thông báo đến user ID: {user}")
elif isinstance(user, str):
print(f"Gửi thông báo đến username: {user}")
else:
print("Kiểu dữ liệu không hợp lệ")
Giải thích:
-
user
có thể làint
(ID người dùng) hoặcstr
(username). -
Hàm sẽ xử lý tùy theo kiểu dữ liệu được truyền vào.
send_notification(101) # Gửi thông báo đến user ID: 101
send_notification("alice") # Gửi thông báo đến username: alice
Không có bình luận