1. Phương thức `split()` trong Python thường được sử dụng với kiểu dữ liệu nào?
A. list
B. tuple
C. string
D. dictionary
2. Phương thức `pop()` khi được gọi trên một list trong Python sẽ:
A. Sắp xếp list theo thứ tự giảm dần
B. Xóa phần tử đầu tiên của list
C. Xóa phần tử cuối cùng của list và trả về nó
D. Thêm một phần tử vào đầu list
3. Hàm nào sau đây được sử dụng để đọc dữ liệu từ file trong Python?
A. write()
B. open()
C. read()
D. print()
4. Giá trị boolean nào tương ứng với `True` trong Python?
5. 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 liên quan đến số học và toán học
C. Các hàm xử lý file
D. Các hàm liên quan đến mạng
6. Từ khóa nào sau đây được sử dụng để định nghĩa một hàm trong Python?
A. class
B. function
C. def
D. import
7. Phương thức `insert(index, element)` của list dùng để làm gì?
A. Thay thế phần tử tại vị trí `index` bằng `element`
B. Xóa phần tử tại vị trí `index`
C. Chèn `element` vào vị trí `index`
D. Tìm kiếm `element` và trả về `index`
8. Trong Python, vòng lặp `for` thường được sử dụng để lặp qua các phần tử của:
A. Chỉ số
B. Biến
C. Giá trị
D. Iterable objects (các đối tượng có thể lặp)
9. Decorator trong Python được sử dụng để làm gì?
A. Tăng tốc độ thực thi chương trình
B. Thêm chức năng mới vào hàm hoặc class mà không cần sửa đổi trực tiếp code của chúng
C. Kiểm tra lỗi trong code
D. Tạo giao diện người dùng đồ họa
10. Trong Python, kiểu dữ liệu nào sau đây là kiểu dữ liệu bất biến (immutable)?
A. List
B. Dictionary
C. Tuple
D. Set
11. Context manager trong Python (ví dụ: `with open(...)`) được sử dụng để làm gì?
A. Quản lý bộ nhớ tự động
B. Đảm bảo rằng các tài nguyên (ví dụ: file, kết nối) được thiết lập và giải phóng đúng cách, ngay cả khi có lỗi xảy ra
C. Tăng tốc độ đọc/ghi file
D. Mã hóa dữ liệu trước khi ghi vào file
12. `__init__` là gì trong Python class?
A. Một phương thức để hủy đối tượng
B. Một decorator để tạo class tĩnh
C. Một phương thức khởi tạo (constructor)
D. Một phương thức để in thông tin đối tượng
13. Phương thức `strip()` của string dùng để làm gì?
A. Chuyển đổi chuỗi thành chữ hoa
B. Loại bỏ khoảng trắng ở đầu và cuối chuỗi
C. Đếm số ký tự trong chuỗi
D. Tìm kiếm một chuỗi con trong chuỗi
14. Khối lệnh `try...except` trong Python được sử dụng để:
A. Định nghĩa hàm
B. Xử lý ngoại lệ (exceptions)
C. Tạo vòng lặp
D. Nhập dữ liệu từ người dùng
15. Hàm `range(start, stop, step)` trong Python tạo ra:
A. Một list các số
B. Một tuple các số
C. Một iterable object (đối tượng có thể lặp) sinh ra các số nguyên
D. Một chuỗi các số
16. Đâu là cách viết comment một dòng trong Python?
A. // Đây là comment
B. /* Đây là comment */
C. # Đây là comment
D. ` Đây là comment
17. Kiểu dữ liệu trả về của hàm `len()` trong Python là gì?
A. float
B. str
C. int
D. bool
18. Đoạn code Python sau sẽ in ra kết quả gì?
```python
x = 5
y = `10`
print(x + y)
```
A. 15
B. `510`
C. 105
D. Báo lỗi TypeError
19. Biến toàn cục (global variable) trong Python là gì?
A. Biến chỉ được sử dụng trong một hàm
B. Biến được khai báo bên trong vòng lặp
C. Biến được khai báo bên ngoài tất cả các hàm và có thể truy cập từ bất kỳ đâu trong chương trình
D. Biến được sử dụng để lưu trữ các giá trị hằng số
20. Phương thức `append()` có chức năng 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
21. Đâu là cách đúng để import một module tên `my_module` trong Python và chỉ sử dụng hàm `my_function` từ module đó?
A. import my_module.my_function
B. from my_module import *
C. import my_module as my_function
D. from my_module import my_function
22. Generator trong Python là gì và lợi ích của việc sử dụng generator là gì?
A. Một loại hàm đặc biệt trả về một list, giúp code dễ đọc hơn
B. Một hàm đặc biệt tạo ra một iterator, giúp tiết kiệm bộ nhớ khi làm việc với chuỗi dữ liệu lớn
C. Một decorator để tối ưu hóa hiệu suất hàm
D. Một module để tạo số ngẫu nhiên
23. Trong Python, `is` và `==` khác nhau như thế nào?
A. `is` so sánh giá trị, `==` so sánh kiểu dữ liệu
B. `is` so sánh kiểu dữ liệu, `==` so sánh giá trị
C. `is` so sánh danh tính đối tượng (identity), `==` so sánh giá trị
D. `is` và `==` là hoàn toàn giống nhau
24. Trong Python, toán tử `%` dùng để làm gì?
A. Tính phần trăm
B. Chia lấy nguyên
C. Chia lấy dư
D. Lũy thừa
25. Đâu là cách khai báo một list rỗng trong Python?
A. list()
B. []
C. {}
D. Cả Answer 1 và Answer 2
26. Điều gì sẽ xảy ra khi bạn cố gắng truy cập một key không tồn tại trong dictionary?
A. Trả về giá trị mặc định là 0
B. Trả về None
C. Báo lỗi KeyError
D. Tự động thêm key đó vào dictionary với giá trị None
27. Hàm `map(function, iterable)` trong Python làm gì?
A. Áp dụng `function` cho từng cặp phần tử từ các `iterable` tương ứng
B. Áp dụng `function` cho từng phần tử của `iterable` và trả về một iterable mới chứa kết quả
C. Lọc các phần tử của `iterable` dựa trên điều kiện trong `function`
D. Kết hợp các phần tử của `iterable` thành một giá trị duy nhất bằng cách sử dụng `function`
28. Trong Python, điều gì xảy ra khi bạn chia một số cho 0?
A. Trả về giá trị vô cùng (infinity)
B. Trả về 0
C. Báo lỗi ZeroDivisionError
D. Trả về None
29. Hàm `sorted()` và phương thức `sort()` khác nhau như thế nào khi sử dụng với list?
A. `sorted()` sắp xếp tại chỗ, `sort()` trả về list mới đã sắp xếp
B. `sorted()` trả về list mới đã sắp xếp, `sort()` sắp xếp tại chỗ
C. `sorted()` chỉ sắp xếp số, `sort()` sắp xếp mọi kiểu dữ liệu
D. `sorted()` và `sort()` là hoàn toàn giống nhau
30. Phương thức `join()` trong Python dùng để làm gì?
A. Chia một chuỗi thành list các chuỗi con
B. Nối các chuỗi trong một list thành một chuỗi duy nhất
C. Tìm kiếm và thay thế chuỗi con
D. Đảo ngược thứ tự các ký tự trong chuỗi