1. Module `math` trong Python cung cấp hàm nào để tính căn bậc hai?
A. sqrt()
B. root()
C. power()
D. exp()
2. Hàm nào sau đây trong Python được sử dụng để đọc dữ liệu từ một file?
A. write()
B. open()
C. read()
D. load()
3. Trong Python, kiểu dữ liệu dictionary lưu trữ dữ liệu dưới dạng?
A. Chỉ các giá trị (values).
B. Chỉ các khóa (keys).
C. Cặp khóa-giá trị (key-value pairs).
D. Danh sách các phần tử có thứ tự.
4. 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 trong Python?
A. insert()
B. append()
C. extend()
D. add()
5. Trong Python, biến toàn cục (global variable) là biến được khai báo ở đâu?
A. Bên trong một hàm.
B. Bên ngoài tất cả các hàm.
C. Trong một class.
D. Chỉ trong module chính của chương trình.
6. Đoạn code Python sau sẽ in ra kết quả gì?
```python
def my_func(a):
a = a + 10
return a
x = 5
my_func(x)
print(x)
```
A. 15
B. 5
C. Lỗi vì x không được cập nhật trong hàm
D. Không có gì được in ra
7. Trong Python, hàm `len()` được sử dụng để làm gì?
A. Tìm giá trị lớn nhất trong một iterable.
B. Tính tổng các phần tử trong một iterable.
C. Trả về độ dài (số phần tử) của một iterable.
D. Sắp xếp các phần tử trong một iterable.
8. Trong Python, kiểu dữ liệu nào sau đây có thể chứa các phần tử trùng lặp và không có thứ tự?
A. list
B. tuple
C. set
D. frozenset
9. Trong Python, vòng lặp `for` nào sau đây sẽ in ra các số từ 0 đến 4?
A. for i in range(5):
B. for i in range(1, 5):
C. for i in range(0, 4):
D. for i in range(5, 1):
10. Phương thức `split()` khi được gọi trên một chuỗi (string) trong Python thường trả về kiểu dữ liệu gì?
A. string
B. tuple
C. list
D. set
11. Trong Python, từ khóa nào được sử dụng để định nghĩa một hàm?
A. function
B. def
C. func
D. define
12. Phương thức `extend()` khác với `append()` của list trong Python như thế nào?
A. `extend()` thêm một phần tử vào cuối list, `append()` thêm nhiều phần tử.
B. `append()` thêm một phần tử vào cuối list, `extend()` thêm các phần tử của một iterable vào cuối list.
C. `extend()` chỉ hoạt động với số, `append()` hoạt động với mọi kiểu dữ liệu.
D. `append()` tạo ra list mới, `extend()` sửa đổi list hiện tại.
13. Đoạn code Python sau sẽ in ra kết quả gì?
```python
x = [1, 2, 3]
y = x
y.append(4)
print(x)
```
A. [1, 2, 3]
B. [1, 2, 3, 4]
C. [1, 2]
D. Báo lỗi
14. Phương thức `pop()` khi được gọi trên một danh sách (list) trong Python sẽ làm gì?
A. Xóa tất cả các phần tử khỏi danh sách.
B. Xóa phần tử đầu tiên của danh sách.
C. Xóa phần tử cuối cùng của danh sách và trả về nó.
D. Trả về số lượng phần tử trong danh sách.
15. Trong Python, `*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 của tham số.
B. Truyền số lượng tham số tùy ý vào hàm.
C. Khai báo biến toàn cục trong hàm.
D. Xử lý ngoại lệ trong hàm.
16. Hàm `map()` trong Python thường được sử dụng để làm gì?
A. Lọc các phần tử của một iterable dựa trên một điều kiện.
B. Áp dụng một hàm cho mỗi phần tử của một iterable và trả về một iterable mới.
C. Giảm một iterable thành một giá trị duy nhất.
D. Sắp xếp các phần tử của một iterable.
17. 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. tuple
C. set
D. dictionary
18. Trong Python, comment một dòng code được bắt đầu bằng ký tự nào?
19. Đ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. 510
D. Báo lỗi TypeError
20. Đoạn code Python sau sẽ in ra kết quả gì?
```python
x = `hello`
print(x[5])
```
A. o
B. Không có gì (chuỗi rỗng)
C. Báo lỗi IndexError
D. hello
21. Trong Python, hàm `sorted()` và phương thức `sort()` khác nhau ở điểm nào?
A. `sorted()` sắp xếp tại chỗ, `sort()` trả về list mới đã sắp xếp.
B. `sort()` sắp xếp tại chỗ (sửa đổi list gốc), `sorted()` trả về list mới đã sắp xếp.
C. `sorted()` chỉ sắp xếp số, `sort()` sắp xếp mọi kiểu dữ liệu.
D. `sort()` nhanh hơn `sorted()`.
22. Biểu thức điều kiện nào sau đây kiểm tra xem một biến `x` có nằm trong khoảng từ 10 đến 20 (bao gồm cả 10 và 20)?
A. 10 < x < 20
B. 10 <= x <= 20
C. x > 10 and x < 20
D. x >= 10 or x <= 20
23. 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 độ thực thi chương trình Python.
B. Cách ly các dependencies (thư viện phụ thuộc) của các dự án Python khác nhau.
C. Tự động sửa lỗi code Python.
D. Biên dịch code Python sang mã máy.
24. Trong Python, generator là gì và lợi ích chính của việc sử dụng generator so với list là gì?
A. Generator là một loại list đặc biệt, có tốc độ truy cập nhanh hơn.
B. Generator là một hàm tạo ra một chuỗi các giá trị một cách tuần tự (lazy evaluation), tiết kiệm bộ nhớ hơn so với list khi làm việc với dữ liệu lớn.
C. Generator là một module dùng để tạo số ngẫu nhiên, hiệu quả hơn module `random`.
D. Generator là một công cụ debug code, giúp tìm lỗi nhanh hơn trong vòng lặp.
25. Toán tử `%` trong Python thực hiện phép toán gì?
A. Phép chia lấy phần nguyên
B. Phép chia lấy phần dư
C. Phép lũy thừa
D. Phép nhân
26. Phương thức nào sau đây được sử dụng để loại bỏ khoảng trắng ở đầu và cuối chuỗi trong Python?
A. replace()
B. strip()
C. split()
D. upper()
27. Cấu trúc dữ liệu nào sau đây trong Python hoạt động theo nguyên tắc LIFO (Last-In, First-Out)?
A. Queue
B. Stack
C. List
D. Tuple
28. Trong Python, exception handling được thực hiện bằng cấu trúc nào?
A. if-else
B. for-loop
C. try-except
D. while-loop
29. Trong lập trình hướng đối tượng Python, phương thức `__init__` được gọi khi nào?
A. Khi một đối tượng được tạo ra.
B. Khi một đối tượng bị xóa.
C. Khi một thuộc tính của đối tượng được truy cập.
D. Khi một phương thức của đối tượng được gọi.
30. Kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu tích hợp sẵn (built-in) trong Python?
A. int
B. float
C. complex
D. array