Kiểu dữ liệu là một trong những thành phần quan trọng nhất của python. Bạn có thể làm rất nhiều thứ thú vị với các kiểu dữ liệu này. Có một sự thật là trong python, tất cả các kiểu dữ liệu đều là dạng đối tượng (object) cả.
Kiểu dữ liệu giống như một đặc điểm về loại dữ liệu mình muốn lưu trữ trong bộ nhớ và python có một số kiểu dữ liệu tích hợp sau:
- Kiểu văn bản chuỗi: str
- Kiểu số: int, float, complex
- Các loại trình tự: list, tuple, range
- Kiểu ánh xạ: dict
- Kiểu dữ liệu set: set, frozenset
- Kiểu boolean: bool
- Kiểu nhị phân: byte, bytearray, memoryview
Bây giờ, hãy phân loại tất cả các kiểu dữ liệu này bằng cách sử dụng hàm type()
để hiển thị kiểu dữ liệu của biến.
Dạng văn bản
Kiểu dữ liệu chuỗi str
str là viết tắt của string (chuỗi) được sử dụng để lưu trữ văn bản trong python. Chuỗi có thể được viết trong dấu nháy kép hoặc dấu nháy đơn, do đó bạn có thể viết như sau:
Ví dụ:
Kết quả:
Hello, world! <class 'str'>
Kiểu số
Kiểu dữ liệu số nguyên int
int là viết tắt của integer (số nguyên) được sử dụng để lưu trữ số nguyên (số nguyên dương và số nguyên âm).
Ví dụ:
Kết quả:
4 <class 'int'>
Kiểu dữ liệu số thực float
float là viết tắt của số thực (số thập phân).
Ví dụ:
Kết quả:
3.14 <class 'float'>
Số phức có phần thực và phần ảo, mỗi phần là một số thực. Số phức có thể được viết dưới hai dạng: real + (imag)jcomplex(real, imag).
Ví dụ:
Kết quả:
(5+10j)
<class 'complex'>
Kiểu dữ liệu loại trình tự
list
List (danh sách) là kiểu dữ liệu nơi bạn có thể lưu trữ một tập hợp dữ liệu. List cũng có thể chứa các kiểu dữ liệu khác nhau. List còn có thể sắp xếp, thay đổi phần tử và cho phép các phần tử xuất hiện trùng lặp
Ví dụ:
Kết quả:
['Captain America', 'Iron Man', 'Thor', 'Hulk', 'Black Widow', 'Hawkeye'] <class 'list'>
tuple
Tuple là kiểu dữ liệu nơi bạn có thể lưu trữ một bộ sưu tập dữ liệu. Tuple cũng có thể chứa các kiểu dữ liệu khác nhau. Tuple có thể sắp xếp, không thể thay đổi các phần tử và cho phép các phần tử được trùng lặp.
Ví dụ:
Kết quả:
('Captain America', 'Iron Man', 'Thor', 'Hulk', 'Black Widow', 'Hawkeye') <class 'tuple'>
range
Kiểu range đại diện cho một chuỗi số bất biến (không thể thay đổi). Thường được sử dụng để lặp lại một số lần cụ thể trong vòng lặp for.
Ví dụ:
Kết quả:
range(0, 10) <class 'range'>
Kiểu dữ liệu ánh xạ
dict
dict là viết tắt của dictionary trong python. Dict được sử dụng để lưu trữ các giá trị dữ liệu trong các key:value. Dict là một tập hợp không có thứ tự, có thể thay đổi và không cho phép trùng lặp.
Ví dụ:
{'Learning': 'Programming', 'Language': 'Python', 'Day': 4} <class 'dict'>
Kiểu dữ liệu Set
set
set là kiểu dữ liệu nơi bạn có thể chứa một tập hợp dữ liệu. Set cũng có thể chứa các kiểu dữ liệu khác nhau. Set không có thứ tự và không được lập chỉ mục và không cho phép các phần tử trùng lặp.
Ví dụ:
Kết quả:
{'Black Widow', 'Iron Man', 'Thor', 'Hawkeye', 'Hulk', 'Captain America'} <class 'set'>
frozenset
Kiểu dữ liệu frozenset có thể được tạo bởi hàm frozenset()
. Hàm frozenset()
chấp nhận một đối tượng có thể lặp lại và trả về một đối tượng frozenset không thể thay đổi (giống như một set object, chỉ là không thể thay đổi).
Ví dụ:
Kết quả:
frozenset({'cherry', 'banana', 'apple'}) <class 'frozenset'>
Kiểu boolean
bool
bool là viết tắt của boolean trong python. Booleans đại diện cho một trong hai giá trị: True hoặc False.
Ví dụ:
Kết quả:
True <class 'bool'> False <class 'bool'>
Kiểu nhị phân
bytes
kiểu dữ liệu byte có thể được tạo ở hai dạng: dùng hàm byte() hoặc sử dụng tiền tố “b”.
Ví dụ:
Kết quả:
b'hello' <class 'bytes'> b'Hello' <class 'bytes'>
bytearray
Hàm bytearray()
trả về một đối tượng bytearray. Nó có thể chuyển đổi các đối tượng thành các đối tượng bytearray.
Ví dụ:
Kết quả:
bytearray(b'x00x00x00x00') <class 'bytearray'>
memoryview
hàm memoryview()
trả về một đối tượng ở chế độ xem bộ nhớ của một đối tượng được chỉ định.<memory at 0x2b4f7a8a7408>
<class ‘memoryview’>
Ghi chú
Như bạn đã thấy, một số kiểu dữ liệu cũng có thể được triển khai bằng cách sử dụng các constructors của chúng. Kỹ thuật tương tự này cũng có thể được áp dụng cho mọi kiểu dữ liệu.
Ví dụ:
Kết quả:
Hello, World! 4 3.14 (5+10j) ['Captain America', 'Iron Man', 'Thor', 'Hulk', 'Black Widow', 'Hawkeye'] ('Captain America', 'Iron Man', 'Thor', 'Hulk', 'Black Widow', 'Hawkeye') range(0, 10) {'Learning': 'Programming', 'Language': 'Python', 'Day': 4} {'apple', 'cherry', 'banana'} frozenset({'banana', 'cherry', 'apple'}) True False b'x00x00x00x00' bytearray(b'x00x00x00x00') <memory at 0x2b8346a29408>
Nếu các bạn ủng hộ và mình thấy view bài này cao thì mình sẽ làm thêm vài bài so sánh các kiểu dữ liệu trong python nữa. Vậy nên ủng hộ mình nhé.