Câu 1Điều nào sau đây mô tả chính xác nhất mục đích của việc "để ý đến kiểu" trong Python?
Tổng hợp các kiểu trong Python — vì sao kiểu quan trọng và cánh cửa bước vào class
Tổng hợp các kiểu dữ liệu cơ bản của Python qua sơ đồ và mở cánh cửa bước vào lập trình hướng đối tượng với class.
Rốt cuộc "kiểu" là gì?
Đến giờ bạn đã gặp rất nhiều kiểu — int, float, str, bool, list, dict, tuple, set và hơn nữa. Chọn kiểu phù hợp cho công việc là điều quan trọng nhất trong thực tế.
Như ví dụ cho thấy, ngay cả cùng toán tử + cũng thực hiện các thao tác khác nhau tùy theo kiểu.
Nói cách khác, chọn kiểu khác nhau tùy mục đích chính là cách bạn thay đổi những gì một biến có thể làm được.
Xem lại tất cả các kiểu đã học trong một lần
Hãy sắp xếp các kiểu trong Python Basics theo mục đích sử dụng. Dù bạn cần "tính toán số", "xử lý văn bản" hay "gom nhiều giá trị lại với nhau", kiểu phù hợp sẽ hiện ra một cách tự nhiên.
| Kiểu | Mục đích thường dùng | Ví dụ |
|---|---|---|
| int | Tính giá sản phẩm hoặc số lượng | 5, 100, -3 |
| float | Số tiền đã gồm thuế hoặc tỷ lệ giảm giá | 3.14, 0.5 |
| bool | Quản lý trạng thái đăng nhập hoặc tình trạng còn hàng | True, False |
| str | Lưu tên người dùng hoặc bình luận | 'hello' |
| list | Giỏ hàng hoặc danh sách kết quả tìm kiếm có thứ tự | [1, 2, 3] |
| tuple | Cặp cố định như kinh độ/vĩ độ | (1, 2, 3) |
| dict | Lưu thông tin user (id / name / email) | {'a': 1} |
| set | Khử trùng lặp tag, kiểm tra thành viên | {1, 2, 3} |
Bạn cũng nên nhớ một kiểu là có thể thay đổi (mutable) hay không thể thay đổi (immutable). list / dict / set là mutable; còn lại là immutable.
Bạn có thể tự định nghĩa kiểu của mình bằng class
Mọi thứ đã đề cập đến giờ — int / list / dict và anh em — đều là kiểu mà Python cung cấp sẵn (kiểu built-in). Trong các dự án thực tế, rất nhiều khái niệm xuất hiện mà chỉ dùng kiểu built-in không thể diễn tả hết, ví dụ "User", "Product", "Order"… Python cho phép bạn định nghĩa kiểu riêng bằng class — đó chính là cánh cửa bước vào lập trình hướng đối tượng (OOP). Chi tiết về OOP sẽ được giới thiệu lại trong các bài viết tiếp theo.
# Định nghĩa một kiểu mới tên là Point (một tọa độ)
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(3, 4) # tạo một instance của Point
print(p.x) # 3
Một khóa OOP đầy đủ sẽ có trong loạt bài khác
Class, kế thừa, đa hình và phần còn lại của lập trình hướng đối tượng sẽ được trình bày trong một loạt bài riêng. Giờ đây, chỉ cần biết rằng bên cạnh các kiểu built-in, bạn còn có thể tự xây kiểu của mình là đủ.
Kiểm tra kiến thức
Hãy trả lời từng câu hỏi một.
Câu 2Trong các kiểu sau, kiểu nào là mutable (có thể thay đổi)?
Câu 3Bạn dùng từ khóa nào để định nghĩa kiểu mới của riêng mình trong Python?