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

Python có phải ngôn ngữ Dynamic Typed không?


Có. Python là ngôn ngữ dynamic typed (kiểu động).

Định nghĩa

  • Không cần khai báo kiểu biến.
  • Kiểu được xác định tại runtime dựa trên giá trị gán.
  • Biến có thể đổi kiểu bất cứ lúc nào.
  • Quản lý bộ nhớ tự động (Garbage Collection).

Ví dụ

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

x = True
print(type(x))  # 

x = "hello"
print(type(x))  # 

Kết quả



So sánh Static vs Dynamic

Đặc điểmStatic (C, Java, Go)Dynamic (Python, JS, Ruby)
Khai báo kiểuBắt buộcKhông cần
Kiểm tra kiểuCompile timeRuntime
Đổi kiểu biếnKhông (cần cast/union)Tự do
Bộ nhớQuản lý thủ công/RAIIGC tự động
Phát hiện lỗi kiểuSớm (compile)Muộn (runtime)

Python 3.5+ Type Hints (Optional Static Checking)

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

# Tool: mypy, pyright, pylance check static
# Runtime: KHÔNG enforce, vẫn dynamic

Kết luận

Python dynamic typed → code ngắn, linh hoạt, phát triển nhanh. Trade-off: cần test kỹ, dùng type hints + static analyzer cho dự án lớn.