1. Kiểu dữ liệu `tuple` trong Python khác biệt chính so với `list` ở điểm nào?
A. `tuple` có thể chứa các phần tử khác kiểu, `list` thì không.
B. `tuple` là immutable (không thể thay đổi sau khi tạo), `list` là mutable.
C. `tuple` được truy cập nhanh hơn `list`.
D. `tuple` sử dụng ít bộ nhớ hơn `list`.
2. Hàm `zip()` trong Python có chức năng gì?
A. Sắp xếp các iterable.
B. Kết hợp các iterable thành các tuple, mỗi tuple chứa các phần tử tương ứng từ các iterable đầu vào.
C. Lọc các iterable.
D. Tính tổng các iterable.
3. Phương thức đặc biệt `__init__` trong class Python được gọi khi nào?
A. Khi class được định nghĩa.
B. Khi một đối tượng của class được tạo ra.
C. Khi một phương thức khác của class được gọi.
D. Khi chương trình Python bắt đầu chạy.
4. Trong Python, kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu số?
A. int
B. float
C. complex
D. str
5. Khái niệm 'inheritance′ (kế thừa) trong OOP Python có ý nghĩa gì?
A. Tạo ra các biến toàn cục.
B. Cho phép một lớp (lớp con) kế thừa các thuộc tính và phương thức từ một lớp khác (lớp cha).
C. Đóng gói dữ liệu và phương thức vào trong một đơn vị.
D. Che giấu thông tin chi tiết bên trong đối tượng.
6. Trong lập trình hướng đối tượng Python, 'class′ là gì?
A. Một biến toàn cục.
B. Một hàm đặc biệt để khởi tạo đối tượng.
C. Bản thiết kế hoặc khuôn mẫu để tạo ra các đối tượng.
D. Một loại vòng lặp đặc biệt.
7. Hàm `len()` trong Python trả về giá trị gì?
A. Kiểu dữ liệu của biến.
B. Tổng các phần tử trong một iterable.
C. Độ dài (số phần tử) của một chuỗi, list, tuple, hoặc dictionary.
D. Giá trị lớn nhất trong một dãy số.
8. Trong Python, 'dictionary′ là kiểu dữ liệu gì?
A. Dãy số nguyên.
B. Tập hợp các phần tử duy nhất.
C. Tập hợp các cặp khóa-giá trị.
D. Chuỗi ký tự.
9. Trong Python, 'decorator′ là gì?
A. Một kiểu dữ liệu đặc biệt.
B. Một hàm được sử dụng để sửa đổi hoặc mở rộng chức năng của hàm khác.
C. Một loại vòng lặp.
D. Một cách đặt tên biến.
10. Phương thức `.split()` thường được sử dụng trên kiểu dữ liệu nào trong Python?
A. list
B. tuple
C. string
D. dict
11. Trong Python, 'list comprehension′ là gì?
A. Một cách tạo vòng lặp.
B. Một cú pháp ngắn gọn để tạo list mới dựa trên các iterable khác.
C. Một phương pháp xử lý ngoại lệ.
D. Một loại decorator.
12. Vòng lặp `for` trong Python thường được sử dụng để:
A. Thực hiện một khối lệnh cho đến khi một điều kiện sai.
B. Lặp lại một khối lệnh với số lần xác định trước hoặc duyệt qua các phần tử của một iterable.
C. Định nghĩa lớp đối tượng.
D. Nhập dữ liệu từ bàn phím.
13. Hàm `map()` trong Python thường được sử dụng để:
A. Lọc các phần tử trong một iterable.
B. Áp dụng một hàm lên từng phần tử của một iterable và trả về một iterator kết quả.
C. Sắp xếp các phần tử trong một iterable.
D. Tính tổng các phần tử trong một iterable.
14. Toán tử nào sau đây được sử dụng để tính phần dư trong phép chia số nguyên trong Python?
15. Trong Python, kiểu dữ liệu `list` là:
A. Một chuỗi ký tự không thể thay đổi.
B. Một tập hợp các cặp key-value.
C. Một dãy các phần tử có thứ tự và có thể thay đổi.
D. Một tập hợp các phần tử duy nhất không có thứ tự.
16. Trong Python, 'module′ là gì?
A. Một biến toàn cục.
B. Một khối mã lệnh thực thi chính của chương trình.
C. Một tập tin chứa các định nghĩa và câu lệnh Python, có thể tái sử dụng.
D. Một kiểu dữ liệu đặc biệt.
17. Cấu trúc điều khiển `if-elif-else` trong Python được sử dụng để làm gì?
A. Lặp lại một khối lệnh nhiều lần.
B. Xử lý ngoại lệ trong chương trình.
C. Thực hiện các lệnh khác nhau tùy thuộc vào điều kiện.
D. Định nghĩa hàm mới.
18. Để cài đặt các thư viện bên ngoài (packages) cho Python, công cụ phổ biến nhất thường được sử dụng là:
A. IDLE
B. pip
C. Python Interpreter
D. cmd
19. Câu lệnh `try-except` trong Python được sử dụng để:
A. Định nghĩa hàm.
B. Xử lý ngoại lệ (errors) trong chương trình.
C. Tạo vòng lặp vô hạn.
D. Nhận dữ liệu từ người dùng.
20. Hàm `print()` trong Python có chức năng chính là gì?
A. Nhận dữ liệu đầu vào từ người dùng.
B. Tính toán giá trị biểu thức.
C. Hiển thị thông tin ra màn hình.
D. Đọc dữ liệu từ tập tin.
21. Từ khóa `global` trong Python được sử dụng để làm gì?
A. Định nghĩa một hằng số.
B. Khai báo một biến cục bộ trong hàm.
C. Truy cập và sửa đổi biến toàn cục bên trong hàm.
D. Nhập một module vào chương trình.
22. Hàm `filter()` trong Python dùng để làm gì?
A. Sắp xếp dữ liệu.
B. Lọc các phần tử từ một iterable dựa trên một điều kiện cho trước.
C. Chuyển đổi kiểu dữ liệu.
D. Nhóm các phần tử trong iterable.
23. Phương thức `.append()` được sử dụng để làm gì trong Python?
A. Xóa một phần tử khỏi list.
B. Thêm một phần tử vào cuối list.
C. Sắp xếp các phần tử trong list.
D. Tìm kiếm một phần tử trong list.
24. Biểu thức lambda trong Python là gì?
A. Một loại vòng lặp.
B. Một hàm vô danh (anonymous function) nhỏ.
C. Một cách định nghĩa class.
D. Một kiểu dữ liệu đặc biệt.
25. Hàm `input()` trong Python dùng để làm gì?
A. Xuất dữ liệu ra file.
B. Nhận dữ liệu đầu vào từ người dùng dưới dạng chuỗi.
C. Tính toán biểu thức toán học.
D. Kiểm tra kiểu dữ liệu của biến.
26. Khái niệm 'slice′ trong Python được sử dụng chủ yếu với kiểu dữ liệu nào?
A. int
B. float
C. list, string, tuple
D. dict
27. Hàm nào sau đây được sử dụng để mở một tập tin để đọc trong Python?
A. read()
B. open()
C. write()
D. close()
28. Phương thức `.get()` thường được sử dụng với kiểu dữ liệu nào trong Python?
A. list
B. tuple
C. string
D. dict
29. Trong Python, 'generator′ là gì?
A. Một loại biến toàn cục.
B. Một hàm đặc biệt trả về một iterator, tạo ra các giá trị một cách 'lazy′.
C. Một cách định nghĩa class.
D. Một loại exception.
30. Phương thức `.pop()` trên list trong Python làm gì?
A. Thêm một phần tử vào đầu list.
B. Xóa và trả về phần tử cuối cùng của list (hoặc tại index chỉ định).
C. Đảo ngược thứ tự các phần tử trong list.
D. Tìm vị trí của một phần tử trong list.