1. Trong Python, kiểu dữ liệu nào sau đây lưu trữ một tập hợp các phần tử duy nhất không có thứ tự?
A. list
B. tuple
C. dict
D. set
2. Trong Python, kiểu dữ liệu nào sau đây được sử dụng để lưu trữ các cặp key-value?
A. list
B. tuple
C. set
D. dict
3. Phương thức nào sau đây được sử dụng để thêm một phần tử vào cuối một list trong Python?
A. insert()
B. add()
C. append()
D. extend()
4. Phương thức `strip()` trong Python được sử dụng để làm gì?
A. Để chuyển đổi một chuỗi thành chữ hoa.
B. Để chuyển đổi một chuỗi thành chữ thường.
C. Để loại bỏ khoảng trắng ở đầu và cuối chuỗi.
D. Để thay thế một phần của chuỗi bằng một chuỗi khác.
5. Trong Python, kiểu dữ liệu nào sau đây là *immutable* (không thể thay đổi)?
A. list
B. dict
C. set
D. tuple
6. Trong Python, vòng lặp `for` thường được sử dụng để làm gì?
A. Thực hiện một khối lệnh một lần duy nhất.
B. Thực hiện một khối lệnh cho đến khi một điều kiện sai.
C. Thực hiện một khối lệnh cho đến khi một điều kiện đúng.
D. Lặp qua các phần tử của một iterable (ví dụ: list, tuple, string).
7. Trong Python, bạn sử dụng phương thức nào để loại bỏ một phần tử khỏi một set?
A. remove()
B. delete()
C. pop()
D. discard()
8. Trong Python, bạn sử dụng thư viện nào để làm việc với mảng đa chiều một cách hiệu quả?
A. math
B. array
C. numpy
D. pandas
9. Trong Python, cú pháp `*args` và `**kwargs` được sử dụng để làm gì trong định nghĩa hàm?
A. Để định nghĩa kiểu dữ liệu trả về của hàm.
B. Để truyền một số lượng biến đối số không xác định vào hàm.
C. Để chỉ định giá trị mặc định cho các đối số của hàm.
D. Để khai báo các biến cục bộ bên trong hàm.
10. Trong Python, làm thế nào để bạn mở một file để ghi dữ liệu vào?
A. open(`file.txt`, `r`)
B. open(`file.txt`, `a`)
C. open(`file.txt`, `w`)
D. open(`file.txt`, `x`)
11. Trong Python, bạn sử dụng hàm nào để chuyển đổi một đối tượng thành một chuỗi JSON?
A. json.load()
B. json.dump()
C. json.loads()
D. json.dumps()
12. Trong Python, hàm `super()` được sử dụng để làm gì?
A. Để tạo một class mới.
B. Để gọi phương thức của lớp cha (superclass).
C. Để kiểm tra kiểu dữ liệu của một đối tượng.
D. Để định nghĩa một decorator.
13. Trong Python, `__init__` là gì?
A. Một hàm để xóa một đối tượng.
B. Một hàm để in ra thông tin của một đối tượng.
C. Một constructor của một class.
D. Một decorator.
14. Đoạn code Python sau sẽ in ra kết quả gì?
```python
x = 5
y = `hello`
print(x + y)
```
A. 5hello
B. hello5
C. 10
D. TypeError: unsupported operand type(s) for +: `int` and `str`
15. Trong Python, sự khác biệt chính giữa list comprehension và generator expression là gì?
A. List comprehension tạo ra một list, trong khi generator expression tạo ra một iterator.
B. List comprehension tạo ra một iterator, trong khi generator expression tạo ra một list.
C. List comprehension chỉ có thể được sử dụng bên trong các hàm, trong khi generator expression có thể được sử dụng ở bất cứ đâu.
D. List comprehension nhanh hơn generator expression.
16. Trong Python, phương thức `split()` được sử dụng để làm gì?
A. Để nối hai chuỗi lại với nhau.
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. Để thay thế một phần của chuỗi bằng một chuỗi khác.
17. Trong Python, bạn sử dụng cú pháp nào để import một module có tên là `math`?
A. include math
B. import
C. using math
D. import math
18. Trong Python, biểu thức `x is None` được sử dụng để làm gì?
A. Để kiểm tra xem x có phải là một số không.
B. Để gán giá trị None cho x.
C. Để kiểm tra xem x có bằng None hay không.
D. Để kiểm tra xem x có phải là một chuỗi rỗng không.
19. Trong Python, kiểu dữ liệu nào sau đây là ordered và mutable?
A. tuple
B. set
C. frozenset
D. list
20. Từ khóa nào sau đây được sử dụng để định nghĩa một hàm trong Python?
A. function
B. define
C. def
D. method
21. Trong Python, bạn sử dụng decorator `@staticmethod` để làm gì?
A. Để tạo một phương thức chỉ có thể truy cập từ lớp cha.
B. Để tạo một phương thức không cần một instance của class.
C. Để tạo một phương thức chỉ có thể truy cập từ bên trong class.
D. Để tạo một phương thức có thể thay đổi trạng thái của class.
22. Trong Python, biểu thức lambda là gì?
A. Một cách để định nghĩa một class.
B. Một hàm ẩn danh nhỏ.
C. Một vòng lặp.
D. Một cách để xử lý ngoại lệ.
23. Toán tử nào sau đây được sử dụng để kiểm tra xem một phần tử có nằm trong một sequence (ví dụ: list, tuple, string) hay không?
A. ==
B. is
C. in
D. exists
24. Hàm nào sau đây được sử dụng để tìm độ dài của một list trong Python?
A. size()
B. length()
C. count()
D. len()
25. 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
26. Trong Python, làm thế nào để bạn viết một docstring cho một hàm?
A. Bằng cách sử dụng comment bắt đầu bằng #.
B. Bằng cách sử dụng comment bắt đầu bằng //.
C. Bằng cách đặt một chuỗi nhiều dòng (triple quotes) ngay sau định nghĩa hàm.
D. Bằng cách sử dụng từ khóa `docstring:`.
27. Trong Python, `try...except` được sử dụng để làm gì?
A. Để định nghĩa một hàm.
B. Để tạo một vòng lặp.
C. Để xử lý ngoại lệ (exceptions).
D. Để khai báo biến.
28. Trong Python, bạn sử dụng module nào để làm việc với các biểu thức chính quy (regular expressions)?
A. os
B. re
C. sys
D. math
29. Hàm nào sau đây dùng để đọc một dòng từ file trong Python?
A. read()
B. readfile()
C. readline()
D. readlines()
30. Trong Python, bạn sử dụng thư viện nào để tạo giao diện người dùng đồ họa (GUI)?
A. NumPy
B. Pandas
C. Tkinter
D. Requests