1. Hàm nào sau đây được sử dụng để đọc dữ liệu từ file trong Python?
A. write()
B. print()
C. read()
D. input()
2. Trong Python, 'f-string′ được sử dụng để làm gì?
A. Định dạng chuỗi (string formatting)
B. Xử lý file
C. Định nghĩa hàm
D. Tạo list comprehension
3. Hàm `len()` dùng để làm gì trong Python?
A. Tính tổng các phần tử
B. Tìm giá trị lớn nhất
C. Trả về độ dài (số phần tử) của một đối tượng iterable
D. Sắp xếp các phần tử
4. Trong Python, 'list comprehension′ là gì?
A. Một loại vòng lặp for
B. Một cách tạo list mới một cách ngắn gọn dựa trên các iterable khác
C. Một phương thức sắp xếp list
D. Một module để xử lý list
5. Cho đoạn code sau, kết quả in ra sẽ là gì?
```python
def modifyₗᵢₛₜ(myₗᵢₛₜ):
myₗᵢₛₜ.append(4)
myₗᵢₛₜ = [1, 2, 3]
modifyₗᵢₛₜ(myₗᵢₛₜ)
print(myₗᵢₛₜ)
```
A. [1, 2, 3]
B. [1, 2, 3, 4]
C. [4]
D. Error
6. Module `math` trong Python cung cấp các hàm nào?
A. Các hàm xử lý chuỗi
B. Các hàm xử lý ngày tháng
C. Các hàm toán học
D. Các hàm xử lý file
7. 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. Dictionary
8. Trong Python, 'magic methods′ (phương thức đặc biệt) là gì?
A. Các phương thức được sử dụng để tạo decorator
B. Các phương thức có tên bắt đầu và kết thúc bằng dấu gạch dưới đôi (`__method__`), được sử dụng để thực hiện các hành vi đặc biệt của đối tượng (ví dụ: `__init__`, `__str__`)
C. Các phương thức để xử lý ngoại lệ
D. Các phương thức để làm việc với module `magic`
9. Trong Python, khi nào thì sử dụng `break` trong vòng lặp?
A. Để bắt đầu vòng lặp
B. Để kết thúc vòng lặp ngay lập tức và thoát ra khỏi vòng lặp
C. Để bỏ qua lần lặp hiện tại và tiếp tục vòng lặp
D. Để định nghĩa hàm
10. Phương thức `append()` được sử dụng để làm gì trong Python?
A. Xóa phần tử khỏi list
B. Thêm phần tử vào cuối list
C. Sắp xếp các phần tử trong list
D. Đảo ngược thứ tự các phần tử trong list
11. Trong Python, iterable là gì?
A. Một kiểu dữ liệu số
B. Một đối tượng có thể được lặp qua các phần tử của nó (ví dụ: list, tuple, string)
C. Một hàm toán học
D. Một module đặc biệt
12. Phương thức `pop()` làm gì với list trong Python?
A. Thêm phần tử vào đầu list
B. Xóa tất cả phần tử khỏi list
C. Xóa và trả về phần tử cuối cùng của list (mặc định) hoặc tại vị trí index chỉ định
D. Đếm số lần xuất hiện của một phần tử trong list
13. Từ khóa nào sau đây được sử dụng để định nghĩa một hàm trong Python?
A. class
B. def
C. import
D. return
14. Trong Python, kiểu dữ liệu nào sau đây là kiểu bất biến (immutable)?
A. List
B. Dictionary
C. Tuple
D. Set
15. Trong Python, `try…except` được sử dụng để:
A. Định nghĩa hàm
B. Xử lý ngoại lệ (exceptions)
C. Khai báo biến
D. Tạo vòng lặp
16. Đoạn code Python sau sẽ in ra kết quả gì?
```python
print(type([1, 2, 3]))
```
17. Trong Python, vòng lặp `for` thường được sử dụng để:
A. Thực hiện một khối lệnh một lần duy nhất
B. Lặp lại một khối lệnh với số lần cố định
C. Lặp lại một khối lệnh cho đến khi một điều kiện sai
D. Lặp lại một khối lệnh trên các phần tử của một iterable (ví dụ: list, tuple, string)
18. Câu lệnh `if __name__ == '__main__':` thường được sử dụng để làm gì trong Python?
A. Khai báo biến toàn cục
B. Bắt đầu một class
C. Kiểm tra xem script có đang được chạy trực tiếp hay không
D. Định nghĩa một hàm main
19. Trong Python, phương thức `__init__` trong một class được gọi khi nào?
A. Khi class được định nghĩa
B. Khi một đối tượng (instance) của class được tạo
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
20. Phương thức `strip()` của string trong Python làm gì?
A. Chuyển đổi chuỗi thành chữ hoa
B. Chuyển đổi chuỗi thành chữ thường
C. Loại bỏ khoảng trắng ở đầu và cuối chuỗi
D. Đếm số ký tự trong chuỗi
21. Trong Python, 'generator′ là gì?
A. Một loại biến
B. Một hàm đặc biệt trả về một iterator, tạo ra các giá trị một cách tuần tự khi được yêu cầu
C. Một class đặc biệt
D. Một module để tạo số ngẫu nhiên
22. Phương thức `join()` thường được sử dụng để làm gì trong Python?
A. Chia một chuỗi thành 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 chuỗi
D. Thay thế chuỗi con trong chuỗi
23. Trong Python, toán tử `%` được sử dụng để làm gì?
A. Chia lấy phần nguyên
B. Chia lấy phần dư
C. Tính lũy thừa
D. Nhân hai số
24. Trong Python, kiểu dữ liệu `dictionary` lưu trữ dữ liệu dưới dạng:
A. Danh sách các giá trị tuần tự
B. Cặp key-value
C. Tập hợp các phần tử duy nhất
D. Chuỗi ký tự
25. Trong Python, `lambda` function là gì?
A. Một loại vòng lặp
B. Một hàm vô danh, nhỏ và không tên
C. Một cách khai báo class
D. Một module để xử lý số
26. Đâu là cách chú thích một dòng code trong Python?
A. ∕∕ Comment
B. ∕* Comment *∕
C. # Comment
D. ' Comment
27. Khái niệm 'decorator′ trong Python dùng để làm gì?
A. Tạo vòng lặp
B. Xử lý ngoại lệ
C. Sửa đổi hoặc mở rộng chức năng của hàm hoặc class
D. Định nghĩa biến toàn cục
28. Phương thức `copy()` được sử dụng để tạo bản sao của list trong Python. Sự khác biệt giữa `list.copy()` và `list[:]` (slicing) là gì?
A. Không có sự khác biệt, cả hai đều tạo bản sao nông (shallow copy).
B. `list.copy()` tạo bản sao sâu (deep copy), còn `list[:]` tạo bản sao nông.
C. `list[:]` tạo bản sao sâu (deep copy), còn `list.copy()` tạo bản sao nông.
D. `list.copy()` chỉ tạo bản sao cho list có một chiều, `list[:]` tạo bản sao cho list đa chiều.
29. Module `os` trong Python chủ yếu cung cấp các hàm để:
A. Xử lý số
B. Tương tác với hệ điều hành
C. Làm việc với web
D. Xử lý hình ảnh
30. Hàm `range()` trong Python trả về đối tượng thuộc kiểu dữ liệu nào?
A. list
B. tuple
C. range
D. set