Khám phá kiểu dữ liệu trong Python: Từ cơ bản đến nâng cao

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ị TrueFalse
  • 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 = 0 hoặc a, 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ìnhtrừ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")

Thẻ: python kiểu dữ liệu INT float string

Đăng vào ngày 16 tháng 6 lúc 09:13