Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Dynamic Typing trong Python
Trong bài viết này, bạn sẽ tìm hiểu về khái niệm đánh máy động (dynamic typing) trong Python và cách nó hoạt động. Việc hiểu rõ về đánh máy động sẽ giúp bạn linh hoạt hơn khi lập trình, bởi Python cho phép thay đổi kiểu dữ liệu của biến một cách linh hoạt mà không cần khai báo trước. Điều này khác biệt so với nhiều ngôn ngữ lập trình có kiểu tĩnh, nơi mà kiểu dữ liệu của biến phải được xác định rõ ràng từ khi khai báo. Hãy cùng tìm hiểu cách Python quản lý kiểu dữ liệu của các biến và những ưu điểm mà đánh máy động mang lại.
Giới thiệu về dynamic typing trong Python
Trong một số ngôn ngữ lập trình như Java hoặc C#, khi khai báo một biến, bạn cần chỉ định kiểu dữ liệu cho nó.
Ví dụ, trong Java, bạn có thể khai báo một biến kiểu String
và khởi tạo giá trị của nó như sau:
String message = "Hello";
Phía sau, Java tạo ra một đối tượng String
mới với giá trị là "Hello". Nó cũng tạo ra một biến gọi là message
với kiểu String
và tham chiếu biến message
tới đối tượng String
.
Bài viết này được đăng tại [free tuts .net]
Trong các ngôn ngữ có kiểu tĩnh (statically typed languages), các kiểu dữ liệu được gắn liền với các biến.
Nếu sau đó bạn gán một số nguyên cho biến message
, điều này sẽ không hoạt động. Lý do là biến message
đã được gắn liền với kiểu String
, không phải kiểu số nguyên.
Không giống như các ngôn ngữ có kiểu tĩnh, Python là một ngôn ngữ có kiểu động. Khi khai báo một biến trong Python, bạn không cần chỉ định kiểu cho nó:
message = 'Hello'
Trong Python, biến message
chỉ đơn giản là một tham chiếu đến một đối tượng là chuỗi. Không có kiểu dữ liệu nào gắn liền với biến message
.
Nếu bạn gán một số cho biến message
, điều này hoàn toàn hợp lý:
message = 100
Trong trường hợp này, Python tạo ra một đối tượng số nguyên mới và biến message
tham chiếu đến đối tượng số nguyên mới.
Để xác định kiểu của đối tượng mà một biến hiện đang tham chiếu, bạn sử dụng hàm type()
.
Ví dụ sau định nghĩa một biến tên là message
và gán cho nó một chuỗi 'Hello':
message = 'Hello' print(type(message))
Kết quả:
<class 'str'>
Khi bạn gán một số cho biến message
, kiểu của đối tượng mà biến message
tham chiếu cũng thay đổi:
message = 100 print(type(message))
Kết quả:
<class 'int'>
Kết bài
Đánh máy động (dynamic typing) là một đặc điểm mạnh mẽ và linh hoạt của Python. Nó cho phép các biến thay đổi kiểu dữ liệu một cách dễ dàng mà không cần khai báo trước, giúp quá trình lập trình trở nên thuận tiện hơn. Việc hiểu rõ cách hoạt động của đánh máy động sẽ giúp bạn tận dụng tối đa sức mạnh của Python, tạo ra các chương trình linh hoạt và hiệu quả. Hãy luôn sử dụng hàm type()
để kiểm tra kiểu dữ liệu của các biến khi cần thiết, đảm bảo rằng chương trình của bạn hoạt động đúng như mong đợi.