1. Hàm `any()` trong Python làm gì?
A. Trả về True nếu tất cả các phần tử trong một iterable là True.
B. Trả về True nếu ít nhất một phần tử trong một iterable là True.
C. Trả về số lượng phần tử trong một iterable.
D. Trả về phần tử đầu tiên trong một iterable.
2. Hàm `map()` trong Python làm gì?
A. Lọc các phần tử của một iterable dựa trên một điều kiện.
B. Áp dụng một hàm cho mỗi phần tử của một iterable.
C. Sắp xếp các phần tử của một iterable.
D. Kết hợp các phần tử của hai iterable.
3. Trong Python, kiểu dữ liệu nào sau đây là *immutable*?
A. list
B. dict
C. tuple
D. set
4. Trong Python, kiểu dữ liệu nào sau đây là *mutable*?
A. int
B. float
C. str
D. list
5. Trong Python, thư viện `requests` được sử dụng để làm gì?
A. Để làm việc với regular expressions.
B. Để tạo giao diện người dùng đồ họa.
C. Để thực hiện các HTTP requests.
D. Để làm việc với cơ sở dữ liệu.
6. Cho đoạn code sau: `def func(a, b=[]): b.append(a); return b`. Điều gì xảy ra khi gọi `func(1)` rồi gọi `func(2)`?
A. func(1) trả về [1], func(2) trả về [2]
B. func(1) trả về [1], func(2) trả về [1, 2]
C. func(1) trả về [1], func(2) trả về [1]
D. func(1) trả về [1, 2], func(2) trả về [2]
7. Phương thức `strip()` trong Python được sử dụng để làm gì?
A. Để nối hai chuỗi.
B. Để chuyển đổi một chuỗi thành chữ hoa.
C. Để loại bỏ khoảng trắng ở đầu và cuối chuỗi.
D. Để tìm kiếm một chuỗi con trong một chuỗi.
8. Decorator trong Python được sử dụng để làm gì?
A. Để comment code.
B. Để sửa đổi hoặc mở rộng chức năng của một hàm hoặc class.
C. Để import các module.
D. Để định nghĩa các biến toàn cục.
9. Đoạn code sau đây sẽ in ra gì: `print([x**2 for x in range(5) if x % 2 == 0])`?
A. [0, 1, 4, 9, 16]
B. [0, 4, 16]
C. [1, 9, 25]
D. [0, 2, 4]
10. Trong Python, `__name__ == `__main__`` được sử dụng để làm gì?
A. Để định nghĩa một biến toàn cục.
B. Để kiểm tra xem một script có đang được chạy trực tiếp hay được import như một module.
C. Để định nghĩa một hàm main.
D. Để import một module.
11. Trong Python, sự khác biệt chính giữa `==` và `is` là gì?
A. `==` so sánh giá trị, `is` so sánh identity (vị trí trong bộ nhớ).
B. `==` so sánh identity, `is` so sánh giá trị.
C. Không có sự khác biệt, cả hai đều so sánh giá trị.
D. Không có sự khác biệt, cả hai đều so sánh identity.
12. Đoạn code sau đây sẽ in ra gì: `print(type([1, 2, 3]))`?
13. Hàm `super()` trong Python được sử dụng để làm gì?
A. Gọi một hàm từ một module khác.
B. Truy cập các biến toàn cục.
C. Gọi các phương thức của lớp cha.
D. Tạo một instance mới của một class.
14. Trong Python, phương thức `__str__` được sử dụng để làm gì?
A. Để tạo một đối tượng mới.
B. Để biểu diễn một đối tượng dưới dạng chuỗi.
C. Để so sánh hai đối tượng.
D. Để thực hiện phép toán cộng giữa hai đối tượng.
15. Trong Python, exception nào sau đây được raised khi bạn cố gắng truy cập một biến chưa được gán giá trị?
A. TypeError
B. ValueError
C. NameError
D. IndexError
16. Trong Python, kiểu dữ liệu nào sau đây có thể được sử dụng làm key trong một dictionary?
A. list
B. dict
C. set
D. tuple
17. Phương thức `split()` trong Python được sử dụng để làm gì?
A. Để nối hai chuỗi.
B. Để chia một chuỗi thành một list các chuỗi con.
C. Để loại bỏ khoảng trắng khỏi một chuỗi.
D. Để tìm kiếm một chuỗi con trong một chuỗi.
18. Generator trong Python là gì?
A. Một loại biến đặc biệt.
B. Một hàm trả về một iterator.
C. Một class đặc biệt được sử dụng để tạo đối tượng.
D. Một module được sử dụng để tạo số ngẫu nhiên.
19. Trong Python, mục đích của câu lệnh `finally` trong một khối `try-except` là gì?
A. Để định nghĩa exception.
B. Để xử lý exception.
C. Để luôn thực thi một đoạn code, bất kể có exception xảy ra hay không.
D. Để bỏ qua exception.
20. Đoạn code sau đây sẽ in ra gì: `print(`Hello`.replace(`l`, `p`))`?
A. Hello
B. Heppo
C. HepPo
D. Heeppoo
21. Phương thức `__init__` trong Python được gọi khi nào?
A. Khi một đối tượng được tạo từ một lớp.
B. Khi một đối tượng bị xóa.
C. Khi một phương thức của đối tượng được gọi.
D. Khi một lớp được định nghĩa.
22. Hàm `reduce()` trong Python làm gì?
A. Lọc các phần tử của một iterable.
B. Áp dụng một hàm tích lũy cho các phần tử của một iterable.
C. Sắp xếp các phần tử của một iterable.
D. Kết hợp các phần tử của hai iterable.
23. Trong Python, namespace là gì?
A. Một kiểu dữ liệu đặc biệt.
B. Một vùng chứa cho các biến và hàm.
C. Một cách để tạo ra các số ngẫu nhiên.
D. Một công cụ để debug code.
24. Đoạn code sau đây sẽ in ra gì: `print(1 == True)`?
A. True
B. False
C. Error
D. 1
25. Đoạn code sau đây sẽ in ra gì: `print(3 > 2 > 1)`?
A. True
B. False
C. Error
D. None
26. Hàm `zip()` trong Python làm gì?
A. Sắp xếp các phần tử của một iterable.
B. Kết hợp các phần tử từ nhiều iterable thành các tuple.
C. Lọc các phần tử của một iterable.
D. Tính tổng các phần tử của một iterable.
27. Trong Python, mục đích chính của việc sử dụng virtual environment là gì?
A. Để tăng tốc độ thực thi code.
B. Để quản lý các dependencies của dự án một cách độc lập.
C. Để mã hóa code.
D. Để nén code.
28. Trong Python, cú pháp nào sau đây được sử dụng để tạo một list comprehension?
A. {x for x in iterable}
B. (x for x in iterable)
C. [x for x in iterable]
D. x for x in iterable
29. Phương thức `join()` trong Python được sử dụng để làm gì?
A. Để chia một chuỗi thành một list.
B. Để nối các chuỗi trong một iterable thành một chuỗi duy nhất.
C. Để tìm kiếm một chuỗi con trong một chuỗi.
D. Để thay thế một chuỗi con trong một chuỗi.
30. Trong Python, mục đích của hàm `enumerate()` là gì?
A. Để sắp xếp một list.
B. Để lặp qua một list và lấy cả index và giá trị của mỗi phần tử.
C. Để tạo ra một số ngẫu nhiên.
D. Để tìm kiếm một phần tử trong một list.