1. Đâu là cách khai báo biến đúng trong Python?
A. int x = 5
B. x = 5
C. variable x = 5
D. x : int = 5
2. Phương thức `get()` trong dictionary Python khác gì so với truy cập trực tiếp bằng `[]`?
A. `get()` nhanh hơn `[]`
B. `get()` trả về `None` nếu khóa không tồn tại, `[]` gây ra lỗi KeyError
C. `get()` có thể thêm khóa mới vào dictionary
D. `get()` chỉ dùng được với kiểu khóa là chuỗi
3. Biểu thức `[1, 2, 3] + [4, 5]` sẽ cho kết quả gì?
A. [1, 2, 3, 4, 5]
B. [5, 7, 3]
C. [1, 2, 3] [4, 5]
D. Lỗi
4. Generator trong Python khác gì so với list thông thường?
A. Generator nhanh hơn list
B. Generator tiết kiệm bộ nhớ hơn list khi làm việc với lượng dữ liệu lớn
C. Generator có thể thay đổi giá trị, list thì không
D. Generator có thể chứa nhiều kiểu dữ liệu hơn list
5. Từ khóa nào sau đây được sử dụng để định nghĩa hàm trong Python?
A. function
B. def
C. func
D. define
6. Đâu là cách tốt nhất để đọc nội dung của một file văn bản lớn trong Python khi muốn tiết kiệm bộ nhớ?
A. Sử dụng `file.read()`
B. Sử dụng `file.readlines()`
C. Lặp qua file object trực tiếp (ví dụ: `for line in file:`)
D. Sử dụng module `mmap`
7. Trong lập trình hướng đối tượng Python, phương thức khởi tạo (constructor) của một lớp có tên là gì?
A. __init__
B. __construct__
C. constructor
D. init
8. Phương thức `split()` 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
9. Phương thức nào sau đây được sử dụng để thêm một phần tử vào cuối danh sách (list) trong Python?
A. insert()
B. append()
C. remove()
D. pop()
10. Decorator trong Python được sử dụng để làm gì?
A. Tăng tốc độ thực thi chương trình
B. Mở rộng chức năng của hàm hoặc lớp mà không cần sửa đổi trực tiếp code
C. Kiểm tra lỗi trong code
D. Tạo giao diện người dùng
11. Hàm `map()` 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 lên từng phần tử của một iterable
C. Sắp xếp các phần tử của một iterable
D. Tìm kiếm phần tử trong một iterable
12. 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
13. Trong Python, 'list comprehension′ là gì?
A. Một kiểu dữ liệu danh sách đặc biệt
B. Một cách tạo danh sách ngắn gọn và hiệu quả
C. Một phương thức sắp xếp danh sách
D. Một thư viện xử lý danh sách
14. Câu lệnh `try…except` được sử dụng để làm gì trong Python?
A. Định nghĩa hàm
B. Xử lý ngoại lệ
C. Tạo vòng lặp
D. Nhập dữ liệu
15. Trong Python, 'magic methods′ (phương thức ma thuật) là gì?
A. Các phương thức tự động sửa lỗi code
B. Các phương thức đặc biệt bắt đầu và kết thúc bằng dấu gạch dưới đôi (__)
C. Các phương thức được sử dụng để tạo hiệu ứng đồ họa
D. Các phương thức ẩn danh (anonymous)
16. Để viết chú thích một dòng trong Python, ta sử dụng ký tự nào?
A. ∕∕
B. ∕* *∕
C. #
D. ' ' '
17. Kết quả của biểu thức `5 + '5′` trong Python là gì?
A. 10
B. '55′
C. Lỗi kiểu dữ liệu
D. 55
18. Hàm nào sau đây được sử dụng để in ra màn hình trong Python?
A. input()
B. print()
C. len()
D. type()
19. Giá trị trả về của hàm `len('Hello′)` là bao nhiêu?
20. Đoạn code sau in ra giá trị gì: `x = 10; if x > 5: print('Lớn hơn 5′) else: print('Nhỏ hơn 5′)`
A. Lớn hơn 5
B. Nhỏ hơn 5
C. Không in gì
D. Lỗi
21. Cấu trúc điều khiển nào sau đây KHÔNG phải là cấu trúc điều khiển rẽ nhánh trong Python?
A. if
B. elif
C. else
D. for
22. Hàm nào sau đây dùng để chuyển đổi kiểu dữ liệu sang số nguyên trong Python?
A. str()
B. float()
C. int()
D. bool()
23. Trong Python, kiểu dữ liệu nào là bất biến (immutable)?
A. list
B. dict
C. set
D. tuple
24. Toán tử nào sau đây được sử dụng để gán giá trị trong Python?
25. Module `math` trong Python cung cấp chức năng gì?
A. Xử lý chuỗi
B. Thao tác với file
C. Các hàm toán học
D. Xử lý đồ họa
26. Trong vòng lặp `for i in range(5):`, biến `i` sẽ nhận các giá trị nào?
A. 1, 2, 3, 4, 5
B. 0, 1, 2, 3, 4
C. 1, 2, 3, 4
D. 0, 1, 2, 3, 4, 5
27. Để kiểm tra xem một khóa có tồn tại trong từ điển (dictionary) hay không, ta sử dụng toán tử nào?
A. ==
B. in
C. is
D. exists
28. Phương thức nào sau đây trả về phiên bản viết hoa của một chuỗi?
A. lower()
B. capitalize()
C. upper()
D. title()
29. Kiểu dữ liệu nào sau đây KHÔNG được sắp xếp (unordered)?
A. list
B. tuple
C. string
D. set
30. Mục đích chính của việc sử dụng 'virtual environment′ (môi trường ảo) trong Python là gì?
A. Tăng tốc độ cài đặt thư viện
B. Cách ly các dự án Python khác nhau về mặt thư viện và phiên bản
C. Giảm dung lượng file dự án
D. Cải thiện khả năng bảo mật của dự án