Giới thiệu về các kiểu dữ liệu trong Python
Python là ngôn ngữ lập trình linh hoạt với hệ thống kiểu dữ liệu phong phú. Dưới đây là phân loại chi tiết:
1. Kiểu dữ liệu cơ bản
- Số nguyên (int): Biểu diễn số nguyên, ví dụ:
42,-7,0 - Số thực (float): Số có dấu thập phân, ví dụ:
3.14,-0.001 - Logic (bool): Hai giá trị
TruevàFalse - Chuỗi (str): Dãy ký tự trong dấu nháy, ví dụ:
"Xin chào"
2. Kiểu dữ liệu tập hợp
- Danh sách (list): Tập hợp có thứ tự, có thể thay đổi, dùng
[] - Bộ (tuple): Tập hợp có thứ tự, không thể thay đổi, dùng
() - Từ điển (dict): Cặp khóa-giá trị, dùng
{} - Tập hợp (set): Các phần tử duy nhất, không có thứ tự
3. Kiểu dữ liệu đặc biệt
- NoneType: Giá trị
Noneđại diện cho sự rỗng - Số phức (complex): Ví dụ
2+3j
Sử dụng hàm type() để kiểm tra kiểu dữ liệu:
print(type(100)) # <class 'int'>
print(type("Python")) # <class 'str'>
print(type([1,2])) # <class 'list'>
Ví dụ chi tiết về các kiểu dữ liệu
# Kiểu cơ bản
so_nguyen = 25
so_thuc = 2.71828
gia_tri_logic = False
chuoi = "Học Python"
so_phuc = 1 + 2j
rong = None
# Kiểu tập hợp
danh_sach = [10, "táo", 3.5, True]
bo = ("đỏ", "xanh", "vàng")
tu_dien = {
"ten": "Bình",
"tuoi": 22,
"sinh_vien": True
}
tap_hop = {1, 2, 3, 2, 1} # Tự động loại bỏ trùng
# In kết quả
print(f"Số nguyên: {so_nguyen}, Kiểu: {type(so_nguyen)}")
print(f"Số thực: {so_thuc}, Kiểu: {type(so_thuc)}")
print(f"Logic: {gia_tri_logic}, Kiểu: {type(gia_tri_logic)}")
print(f"Chuỗi: {chuoi}, Kiểu: {type(chuoi)}")
print(f"Số phức: {so_phuc}, Kiểu: {type(so_phuc)}")
print(f"None: {rong}, Kiểu: {type(rong)}")
print(f"\nDanh sách: {danh_sach}, Kiểu: {type(danh_sach)}")
print(f"Bộ: {bo}, Kiểu: {type(bo)}")
print(f"Từ điển: {tu_dien}, Kiểu: {type(tu_dien)}")
print(f"Tập hợp: {tap_hop}, Kiểu: {type(tap_hop)}")
# Thao tác cơ bản
print("\nPhần tử đầu danh sách:", danh_sach[0])
print("Độ dài bộ:", len(bo))
print("Giá trị 'ten':", tu_dien["ten"])
print("2 có trong tập hợp?", 2 in tap_hop)
Chuyển đổi và thao tác giữa các kiểu
# Tính toán số học
a = 15
b = 4.2
print(f"Số nguyên + số thực: {a} + {b} = {a + b}, Kiểu: {type(a + b)}")
# Logic với số
dung = True
sai = False
print(f"\nSố nguyên + True: {a} + {dung} = {a + dung}")
print(f"Số nguyên * False: {a} * {sai} = {a * sai}")
# Thao tác chuỗi
s1 = "Chào"
s2 = " bạn"
print(f"\nNối chuỗi: {s1 + s2}")
print(f"Lặp chuỗi: {s1 * 3}")
# Chuyển đổi kiểu
so_str = "456"
print(f"\nChuỗi sang số: {so_str} -> {int(so_str)}, Kiểu: {type(int(so_str))}")
print(f"Số sang chuỗi: {a} -> {str(a)}, Kiểu: {type(str(a))}")
# Thao tác với tập hợp
ds1 = [1, 2, 3]
ds2 = [4, 5, 6]
print(f"\nNối danh sách: {ds1 + ds2}")
print(f"Lặp danh sách: {ds1 * 2}")
th1 = {1, 2, 3}
th2 = {3, 4, 5}
print(f"\nGiao: {th1 & th2}")
print(f"Hợp: {th1 | th2}")
print(f"Hiệu: {th1 - th2}")
# Chuyển đổi giữa các kiểu tập hợp
print(f"\nDanh sách sang tập hợp: {danh_sach} -> {set(danh_sach)}")
print(f"Bộ sang danh sách: {bo} -> {list(bo)}")
Kiến thức bổ sung quan trọng
Biến và gán giá trị
- Python sử dụng kiểu động, không cần khai báo kiểu
- Gán nhiều biến:
x = y = z = 0hoặca, b = 1, 2 - Tên biến: chữ, số, gạch dưới, không bắt đầu bằng số, phân biệt hoa thường
Toán tử
- Số học:
+ - * / // % ** - So sánh:
== != < > <= >= - Luận lý:
and or not - Gán:
= += -= *= - Thành viên:
in not in
Điều khiển luồng
# if-elif-else
diem = 75
if diem >= 90:
print("Xuất sắc")
elif diem >= 70:
print("Khá")
else:
print("Cần cố gắng")
# Vòng lặp for
for i in range(4):
print(i)
# Vòng lặp while
dem = 0
while dem < 3:
print(dem)
dem += 1
Hàm
def tinh_tong(x, y):
return x + y
print(tinh_tong(5, 3)) # 8
Module và package
import math
print(math.sqrt(25)) # 5.0
Xử lý ngoại lệ
try:
ket_qua = 10 / 0
except ZeroDivisionError:
print("Không thể chia cho 0")
finally:
print("Khối này luôn chạy")
Lập trình hướng đối tượng (OOP)
OOP tổ chức code dựa trên đối tượng với bốn tính chất chính: đóng gói, kế thừa, đa hình và trừu tượng.
class SinhVien:
def __init__(self, ten, ma_so):
self.ten = ten
self.ma_so = ma_so
def gioi_thieu(self):
print(f"Tôi là {self.ten}, mã số: {self.ma_so}")
sv = SinhVien("Lan", "SV001")
sv.gioi_thieu()
Thao tác với file
with open("data.txt", "w") as f:
f.write("Nội dung file")