Chức năng tích hợp, đối tượng lặp và xử lý ngoại lệ trong Python

1. Hàm tích hợp quan trọng

1.1 zip()

Chức năng: Kết hợp các phần tử tương ứng từ nhiều chuỗi có thể lặp thành từng cặp dạng tuple.

list_a = ['x', 'y', 'z']
list_b = [10, 20, 30]
result = zip(list_a, list_b)
print(list(result))
# Output: [('x', 10), ('y', 20), ('z', 30)]

1.2 filter()

Chức năng: Lọc các phần tử từ một tập hợp dựa trên điều kiện do hàm truyền vào xác định.

numbers = [8, 15, 3, 22, 7, 1]
filtered = filter(lambda x: x > 10, numbers)
print(list(filtered))
# Output: [15, 22]

1.3 sorted()

Chức năng: Sắp xếp các phần tử trong một cấu trúc dữ liệu có thể duyệt theo thứ tự tăng dần hoặc giảm dần.

data = [4, 1, 7, 3, 9]
sorted_data = sorted(data, reverse=False)
print(sorted_data)
# Output: [1, 3, 4, 7, 9]

2. Các hàm tích hợp phổ biến

2.1 abs()

Lấy giá trị tuyệt đối của một số nguyên hoặc thực.

value = -15
print(abs(value))  # Output: 15

2.2 all(), any()

all(): Trả về True nếu tất cả phần tử đều đúng (khác False).
any(): Trả về True nếu ít nhất một phần tử là đúng.

items = [True, True, False]
print(all(items))  # False
print(any(items))  # True

2.3 bin(), oct(), hex(), int()

Chuyển đổi giữa các hệ cơ số: nhị phân, bát phân, thập lục phân và thập phân.

n = 26
print(bin(n))   # 0b11010
print(oct(n))   # 0o32
print(hex(n))   # 0x1a
print(int('1a', 16))  # 26

2.4 bytes()

Chuyển chuỗi thành dạng byte với mã hóa UTF-8.

encoded = bytes("Python", "utf-8")
print(encoded)  # b'Python'

2.5 callable()

Kiểm tra xem một tên có thể gọi được (gọi như hàm) hay không.

def func():
    pass

name = "test"
print(callable(func))   # True
print(callable(name))   # False

2.6 chr(), ord()

Chuyển đổi giữa ký tự và mã ASCII.

print(ord('A'))   # 65
print(chr(65))    # A

2.7 dir()

Xem danh sách các thuộc tính và phương thức khả dụng của một đối tượng.

text = "hello"
print(dir(text))
# Hiển thị các phương thức như: __add__, __len__, upper, lower, v.v.

2.8 divmod()

Trả về cặp (thương, dư) khi chia hai số nguyên.

quotient, remainder = divmod(17, 5)
print(quotient, remainder)  # 3 2

2.9 eval(), exec()

eval(): Đánh giá biểu thức Python từ chuỗi.
exec(): Thực thi đoạn code Python từ chuỗi.

expr = "2 + 3 * 4"
print(eval(expr))  # 14

code_snippet = "for i in range(3): print(i)"
exec(code_snippet)
# Output: 0\n1\n2

2.10 hash()

Tạo giá trị băm duy nhất cho một đối tượng bất biến.

func = lambda x: x * 2
print(hash(func))  # Một số nguyên duy nhất

2.11 help()

Hiển thị tài liệu trợ giúp cho một đối tượng hoặc module.

help(str)
# Mở cửa sổ trợ giúp chi tiết về lớp str

2.12 pow()

Tính lũy thừa của một số.

result = pow(2, 8)
print(result)  # 256

2.13 round()

Làm tròn số đến một số chữ số thập phân cụ thể.

num = 3.14159
print(round(num, 2))  # 3.14

2.14 sum()

Tính tổng các phần tử trong một tập hợp.

nums = [1, 2, 3, 4]
total = sum(nums, 5)  # Thêm 5 vào tổng ban đầu
print(total)  # 15

3. Đối tượng có thể lặp (Iterable)

Một đối tượng được gọi là có thể lặp nếu nó hỗ trợ phương thức __iter__(). Điều này cho phép nó được dùng trong vòng lặp for.

  • Ví dụ: List, tuple, string, set, dict...
  • Điều kiện: Có thể sử dụng với for item in object:

4. Đối tượng lặp (Iterator)

4.1 Khái niệm

Đối tượng lặp là kết quả của việc gọi __iter__() trên một đối tượng có thể lặp. Nó phải có phương thức __next__() để lấy từng phần tử.

4.2 Vai trò

  • Cho phép truy cập phần tử mà không cần chỉ số.
  • Là nền tảng hoạt động của vòng lặp for.

4.3 Thực hành

text = "hi"
iterator = text.__iter__()
print(iterator.__next__())  # h
print(iterator.__next__())  # i
# print(iterator.__next__())  # Gây lỗi StopIteration

4.4 Bản chất của vòng lặp for

Vòng lặp for hoạt động như sau:

  1. Gọi __iter__() trên đối tượng nguồn.
  2. Lần lượt gọi __next__() để lấy từng phần tử.
  3. Khi không còn phần tử, phát sinh ngoại lệ StopIteration, vòng lặp tự động bắt và dừng.

5. Xử lý ngoại lệ (Exception Handling)

5.1 Ngoại lệ là gì?

Là lỗi xảy ra trong quá trình chạy chương trình, dẫn đến dừng đột ngột nếu không được xử lý.

5.2 Phân loại ngoại lệ

  • Lỗi ngữ pháp (SyntaxError): Vi phạm quy tắc viết code (ví dụ: thiếu dấu ngoặc).
  • Lỗi logic (RuntimeError): Chương trình chạy nhưng không đúng như mong đợi (ví dụ: chia cho 0).

5.3 Cấu trúc ngoại lệ

  • Vị trí lỗi (file, dòng code).
  • Loại ngoại lệ (ví dụ: TypeError, IndexError, KeyError).
  • Thông tin chi tiết về lỗi (message).

Việc xử lý ngoại lệ bằng khối try-except giúp chương trình không bị sập khi gặp lỗi.

Thẻ: python built-in functions iterable Iterator Exception Handling

Đăng vào ngày 21 tháng 9 lúc 12:55