Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tại sao Python được gọi là ngôn ngữ Dynamic Typed?


Dynamic Typing (Kiểu động): Kiểu của biến được xác định tại runtime dựa trên giá trị gán, không cần khai báo trước. Biến có thể đổi kiểu bất cứ lúc nào.

Ví dụ minh họa

x = [1, 2, 3]      # x là list
print(type(x))     # 

x = True           # x giờ là bool
print(type(x))     # 

x = "hello"        # x giờ là str
print(type(x))     # 

x = 3.14           # x giờ là float
print(type(x))     # 

Kết quả




So sánh Static vs Dynamic Typing

Đặc điểmStatic (C, C++, Java, Go)Dynamic (Python, JS, Ruby)
Khai báo kiểuBắt buộcKhông cần
Kiểm tra kiểuCompile timeRuntime
Biến đổi kiểuKhông (cần cast)Tự do
Bộ nhớTối ưu compile-timeQuản lý tự động (GC)
Lỗi sớmCompile timeRuntime (có thể crash sau)

Python 3.5+ Type Hints (Optional Static Typing)

def greet(name: str) -> str:
    return f"Hello, {name}"

# Không enforce tại runtime, nhưng tool (mypy, pyright) check static
greet("World")  # OK
greet(123)      # Runtime OK, static checker cảnh báo

Kết luận

Python dynamic typed → linh hoạt, phát triển nhanh, ít code boilerplate. Trade-off: lỗi kiểu chỉ bắt được khi chạy. Dùng type hints + static analyzer cho dự án lớn.