Python - Các Loại Dữ Liệu

Chào mừng, các nhà lập trình nhân dREAM! Hôm nay, chúng ta sẽ đào sâu vào thế giới thú vị của các loại dữ liệu Python. Là người dạy khoa học máy tính xung quanh khu vực của bạn, tôi rất vui mừng được hướng dẫn bạn qua khía cạnh này thiết yếu của lập trình Python. Vậy, hãy lấy tập sổ nhớ ảo của bạn, và hãy cùng nhau bắt đầu hành trình này!

Python - Data Types

Các Loại Dữ Liệu Trong Python

Trong lập trình, các loại dữ liệu như các loại hộp khác nhau để lưu trữ các loại thông tin khác nhau. Hãy tưởng tượng bạn đang tổ chức một buổi tiệc, và bạn cần các loại hộp khác nhau cho các món đồ khác nhau - đĩa để đặt thực phẩm, ly để uống, và hộp để đặt quà. Tương tự, trong Python, chúng ta sử dụng các loại dữ liệu khác nhau để lưu trữ các loại dữ liệu khác nhau.

Hãy bắt đầu với một ví dụ đơn giản:

name = "Alice"
age = 25
height = 5.7
is_student = True

Trong đoạn mã này, chúng ta đã sử dụng bốn loại dữ liệu khác nhau:

  • name là một chuỗi (văn bản)
  • age là một số nguyên (số nguyên)
  • height là một số thực (số thập phân)
  • is_student là một布尔 (True hoặc False)

Mỗi biến này lưu trữ một loại dữ liệu khác nhau, tương tự như cách chúng ta sử dụng các loại hộp khác nhau cho các món đồ khác nhau tại buổi tiệc của chúng ta.

Các Loại Dữ Liệu Trong Python

Python có một số loại dữ liệu tích hợp sẵn. Hãy khám phá chúng một:

1. Các Loại Số

a. Số Nguyên (int)

Số nguyên là các số nguyên, dương hoặc âm, không có phần thập phân.

my_age = 30
temperature = -5

Ở đây, cả my_agetemperature đều là số nguyên. Bạn có thể thực hiện các phép toán đa dạng với số nguyên:

x = 10
y = 3
print(x + y)  # Cộng: 13
print(x - y)  # Trừ: 7
print(x * y)  # Nhân: 30
print(x / y)  # Chia: 3.3333... (Lưu ý: Điều này thực sự trả về một số thực)
print(x // y) # Chia dư: 3 (Làm tròn xuống số nguyên gần nhất)
print(x % y)  # Chia lấy dư: 1
print(x ** y) # Lũy thừa: 1000

b. Số Thực (float)

Số thực là các số có dấu phẩy thập phân.

pi = 3.14159
gravity = 9.81

Số thực có thể được sử dụng trong các phép toán như số nguyên:

radius = 5
area = pi * (radius ** 2)
print(f"The area of the circle is {area:.2f}")  # Output: The area of the circle is 78.54

c. Số Phức (complex)

Số phức có phần thực và phần ảo, được đánh dấu bằng 'j'.

z = 2 + 3j
print(z.real)  # Output: 2.0
print(z.imag)  # Output: 3.0

2. Các Loại chuỗi

a. Chuỗi (str)

Chuỗi là các chuỗi các ký tự, được đóng bởi dấu đơn hoặc dấu kép.

greeting = "Hello, World!"
name = 'Alice'
multi_line = """Đây là một
chuỗi
nhiều dòng."""

Chuỗi có nhiều phương thức hữu ích:

message = "Python rất tuyệt vời"
print(message.upper())  # Output: PYTHON RẤT TUYỆT VỜI
print(message.split())  # Output: ['Python', 'rất', 'tuyệt', 'vời']
print(len(message))     # Output: 20 (độ dài của chuỗi)

b. Danh Sách (list)

Danh sách là các chuỗi có thứ tự, có thể thay đổi, được đánh dấu bởi dấu ngoặc vuông.

fruits = ["táo", "chuối", "ổi"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hai", 3.0, [4, 5]]

Danh sách rất linh hoạt và cho phép các thao tác đa dạng:

fruits.append("cam")  # Thêm một mục
fruits.remove("chuối")  # Xóa một mục
print(fruits[0])         # Truy cập bằng chỉ số: táo
print(fruits[-1])        # Mục cuối cùng: cam
print(fruits[1:3])       # Cắt: ['ổi', 'cam']

c. Đôi (tuple)

Đôi là các chuỗi có thứ tự, không thể thay đổi, được đánh dấu bởi dấu ngoặc đơn.

coordinates = (4, 5)
rgb = (255, 0, 128)

Đôi tương tự như danh sách nhưng không thể thay đổi sau khi tạo:

print(coordinates[0])  # Truy cập bằng chỉ số: 4
# coordinates[0] = 6   # Điều này sẽ gây ra lỗi

3. Loại Ánh Xạ: Từ Điển (dict)

Từ điển lưu trữ các cặp khóa-giá trị, được đánh dấu bởi dấu ngoặc móc.

person = {
"name": "Bob",
"age": 30,
"city": "New York"
}

Từ điển rất hữu ích cho dữ liệu có cấu trúc:

print(person["name"])   # Truy cập bằng khóa: Bob
person["job"] = "Nhà phát triển"  # Thêm một cặp khóa-giá trị mới
del person["age"]       # Xóa một cặp khóa-giá trị
print(person.keys())    # Lấy tất cả các khóa
print(person.values())  # Lấy tất cả các giá trị

4. Các Loại Tập Hợp

a. Tập Hợp (set)

Tập hợp là các tập hợp các phần tử duy nhất, được đánh dấu bởi dấu ngoặc móc.

fruits = {"táo", "chuối", "ổi"}
numbers = {1, 2, 3, 4, 5}

Tập hợp rất tốt để loại bỏ trùng lặp và các thao tác tích hợp:

fruits.add("cam")
fruits.remove("chuối")
print("táo" in fruits)  # Kiểm tra thành viên: True

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))        # Hợp: {1, 2, 3, 4, 5}
print(set1.intersection(set2)) # Giao: {3}

b. Tập Hợp Đóng (frozenset)

Tập hợp đóng là các tập hợp không thể thay đổi.

fs = frozenset([1, 2, 3])
# fs.add(4)  # Điều này sẽ gây ra lỗi

Chuyển Đổi Loại Dữ Liệu Python

Đôi khi, bạn cần chuyển đổi dữ liệu từ một loại sang một loại khác. Python cung cấp các hàm tích hợp để đạt được mục đích này:

# Chuỗi sang Số Nguyên
age_str = "25"
age_int = int(age_str)
print(age_int + 5)  # Output: 30

# Số Nguyên sang Chuỗi
number = 42
number_str = str(number)
print("Câu trả lời là " + number_str)  # Output: Câu trả lời là 42

# Chuỗi sang Số Thực
price_str = "19.99"
price_float = float(price_str)
print(price_float * 2)  # Output: 39.98

# Danh Sách sang Tập Hợp (loại bỏ trùng lặp)
numbers = [1, 2, 2, 3, 3, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # Output: {1, 2, 3, 4, 5}

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

Dưới đây là bảng các hàm chuyển đổi loại dữ liệu phổ biến:

Hàm Mô tả Ví dụ
int(x) Chuyển đổi x thành số nguyên int("10")10
float(x) Chuyển đổi x thành số thực float("3.14")3.14
str(x) Chuyển đổi x thành chuỗi str(42)"42"
list(x) Chuyển đổi x thành danh sách list("xin chào")['x', 'i', 'n', ' ', 'c', 'h', 'à', 'o']
tuple(x) Chuyển đổi x thành đôi tuple([1, 2, 3])(1, 2, 3)
set(x) Chuyển đổi x thành tập hợp set([1, 2, 2, 3]){1, 2, 3}
dict(x) Tạo từ điển. x phải là chuỗi các cặp khóa-giá trị dict([('a', 1), ('b', 2)]){'a': 1, 'b': 2}
bool(x) Chuyển đổi x thành giá trị Boolean bool(1)True, bool(0)False

Nhớ rằng các hàm này không thay đổi giá trị gốc; chúng tạo ra một giá trị mới của loại mong muốn.

Và thế là, các bạn đã duy trì hành trình của mình qua các loại dữ liệu Python, từ những số nguyên đơn giản đến các từ điển phức tạp. Mỗi loại dữ liệu là một công cụ mạnh mẽ trong tủ công cụ lập trình của bạn, sẵn sàng giúp bạn giải quyết nhiều vấn đề khác nhau.

Khi bạn tiếp tục hành trình Python của mình, bạn sẽ tìm thấy mình sử dụng các loại dữ liệu này hàng ngày. Chúng là các khối xây dựng của các chương trình của bạn, là các nguyên liệu của các công thức lập trình của bạn. Vậy hãy thử nghiệm chúng, thử chứng minh, và nhất định là hãy vui vẻ!

Nhớ rằng, trong lập trình, như trong cuộc sống, không phải là việc làm đúng lần đầu tiên. Đó là về việc học hỏi, lớn lên và thưởng thức quá trình. Vì vậy, đừng sợ gặp lỗi - chúng chỉ là các đáng cạnh trên đường dẫn của bạn đến trở thành một nhà lập trình Python cao thủ!

Bây giờ, hãy tiếp tục và mãi mãi mã! Và luôn nhớ: trong Python, như trong cuộc sống, loại dữ liệu rất quan trọng! ?✨

Credits: Image by storyset