Python - Chuyển Đổi Kiểu Dữ Liệu

Xin chào bạn, những nhà phép Python tương lai! Hôm nay, chúng ta sẽ bắt đầu hành trình thú vị vào thế giới chuyển đổi kiểu dữ liệu trong Python. Đừng lo nếu bạn chưa từng nghe về thuật ngữ này – khi hết bài hướng dẫn này, bạn sẽ chuyển đổi kiểu như một chuyên gia!

Python - Type Casting

Chuyển Đổi Kiểu Là Gì?

Trước khi bước vào, hãy bắt đầu với một so sánh đơn giản. Hãy tưởng tượng bạn có một chiếc hộp Lego. Một số có hình tròn, một số có hình vuông, và có thậm chí có hình sao. Chuyển đổi kiểu giống như bạn sử dụng một cây đũa ma thuật để biến một hình thành hình khác. Trong Python, chúng ta đang làm điều tương tự, nhưng với các kiểu dữ liệu thay vì các hình Lego!

Chuyển Đổi Tự Động Trong Python

Python rất thông minh. Đôi khi, nó tự động chuyển đổi một kiểu dữ liệu sang kiểu khác mà không cần bạn yêu cầu. Điều này được gọi là chuyển đổi tự động.

Hãy xem một ví dụ:

x = 5    # Đây là một số nguyên
y = 2.0  # Đây là một số thực
z = x + y

print(z)
print(type(z))

Nếu bạn chạy mã này, bạn sẽ thấy:

7.0
<class 'float'>

WOW! Python đã tự động chuyển đổi số nguyên x thành số thực khi chúng ta cộng nó với y. Như Python đã đeo mũ suy nghĩ và nói, "Ôi, tôi không thể cộng một số nguyên và một số thực trực tiếp, vậy tôi sẽ chuyển số nguyên thành số thực trước đã!"

Chuyển Đổi Rõ Ràng Trong Python

Bây giờ, điều gì xảy ra nếu chúng ta muốn làm chủ và chỉ ra chính xác kiểu mà chúng ta muốn? Đó là nơi chuyển đổi rõ ràng đến. Nó giống như sử dụng cây đũa ma thuật của chúng ta để biến đổi dữ liệu một cách cụ thể.

Python cung cấp một số hàm dựng trong để mục đích này. Hãy xem những hàm phổ biến nhất:

Hàm int() Trong Python

Hàm int() chuyển đổi một giá trị thành số nguyên. Hãy xem nó hoạt động:

a = int(3.14)
b = int("42")
c = int(True)

print(a, type(a))
print(b, type(b))
print(c, type(c))

Kết quả:

3 <class 'int'>
42 <class 'int'>
1 <class 'int'>

Như bạn thấy, int() có thể chuyển đổi số thực, chuỗi (nếu chúng đại diện cho một số nguyên hợp lệ) và thậm chí cả các biến logic thành số nguyên. Nó giống như một nhân vật dị dàng, nhưng cho các số!

Hàm float() Trong Python

Hàm float() là người bạn đến khi cần chuyển đổi giá trị thành số thực:

x = float(5)
y = float("3.14")
z = float("inf")

print(x, type(x))
print(y, type(y))
print(z, type(z))

Kết quả:

5.0 <class 'float'>
3.14 <class 'float'>
inf <class 'float'>

Nhìn kỹ điều đó! Chúng ta đã biến một số nguyên, một chuỗi và thậm chí khái niệm vô cùng thành số thực. Như biến các khối Lego cứng thành nước – chúng ta có thể chuyển đổi và có phần thập phân!

Hàm str() Trong Python

Cuối cùng nhưng không kém phần quan trọng, chúng ta có hàm str(). Hàm này giống như một người kể câu chuyện – nó có thể biến hầu hết mọi thứ thành một chuỗi:

a = str(42)
b = str(3.14)
c = str(True)
d = str([1, 2, 3])

print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))

Kết quả:

42 <class 'str'>
3.14 <class 'str'>
True <class 'str'>
[1, 2, 3] <class 'str'>

Tuyệt vời! Chúng ta đã biến các số, các biến logic và thậm chí một danh sách thành các chuỗi. Như hàm str() là một nhà sáng tạo vĩ đại, vẽ bức tranh của bất cứ điều gì chúng ta đưa ra!

Chuyển Đổi Các Loại Dãy

Bây giờ, hãy nói về việc chuyển đổi giữa các loại dãy khác nhau. Python có một số loại dãy dựng trong như danh sách, cặp và tập hợp. Chúng ta có thể chuyển đổi giữa các loại này bằng cách sử dụng các hàm tương ứng:

# Chuyển đổi danh sách thành cặp
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple, type(my_tuple))

# Chuyển đổi cặp thành tập hợp
my_set = set(my_tuple)
print(my_set, type(my_set))

# Chuyển đổi tập hợp trở lại thành danh sách
back_to_list = list(my_set)
print(back_to_list, type(back_to_list))

Kết quả:

(1, 2, 3, 4, 5) <class 'tuple'>
{1, 2, 3, 4, 5} <class 'set'>
[1, 2, 3, 4, 5] <class 'list'>

Như chúng ta đang chơi trò ghế đuổi nhạc với dữ liệu của mình, di chuyển nó từ một kiểu sang kiểu khác!

Các Hàm Chuyển Đổi Kiểu Dữ Liệu

Hãy tóm tắt tất cả các hàm chuyển đổi kiểu mà chúng ta đã học trong một bảng dễ dàng:

Hàm Mô tả Ví dụ
int() Chuyển đổi thành số nguyên int("42") → 42
float() Chuyển đổi thành số thực float("3.14") → 3.14
str() Chuyển đổi thành chuỗi str(42) → "42"
bool() Chuyển đổi thành biến logic bool(1) → True
list() Chuyển đổi thành danh sách list((1, 2, 3)) → [1, 2, 3]
tuple() Chuyển đổi thành cặp tuple([1, 2, 3]) → (1, 2, 3)
set() Chuyển đổi thành tập hợp set([1, 2, 2, 3]) → {1, 2, 3}

Nhớ rằng, các hàm này giống như cây đũa ma thuật của bạn trong Python – chúng rất đa năng và có thể giúp bạn khỏi nhiều tình huống khó khăn!

Và thế là, các bạn! Chúng ta đã đi qua hành trình trong thế giới chuyển đổi kiểu của Python, từ các chuyển đổi tự động đến các biến đổi rõ ràng. Chúng ta đã thấy Python có thể tự động thay đổi kiểu cho chúng ta, và cách chúng ta có thể kiểm soát và thay đổi kiểu bằng tay.

Nhớ rằng, chuyển đổi kiểu là một công cụ mạnh mẽ trong hộp công cụ Python của bạn. Nó cho phép bạn chịu dạng dữ liệu của bạn để phù hợp với nhu cầu của bạn, giống như một nghệ sĩ mẫu biến đất thành một bức tượng đẹp. Với thực hành, bạn sẽ chuyển đổi kiểu như một chuyên gia trong không thời gian!

Vậy hãy tiến lên, các bạn nhà Python, và chuyển đổi đi! Và luôn nhớ – trong thế giới của Python, mỗi kiểu có vị trí của riêng mình, nhưng với sức mạnh của chuyển đổi, không có kiểu nào mãi mãi cứng như đá. Chúc các bạn có một ngày coding vui vẻ!

Credits: Image by storyset