Đề thi, bài tập trắc nghiệm online Lập trình PythonĐề 1 – Bài tập, đề thi trắc nghiệm online Lập trình Python Đăng vào 2 Tháng 5, 2026 bởi admin Đề 1 – Bài tập, đề thi trắc nghiệm online Lập trình Python Đề 1 – Bài tập, đề thi trắc nghiệm online Lập trình Python Số câu30Quiz ID11576 Làm bài Câu 1 1. Trong Python, `*args` và `**kwargs` được sử dụng để làm gì trong định nghĩa hàm? A A. Khai báo kiểu dữ liệu cho tham số hàm B B. Truyền số lượng tham số cố định vào hàm C C. Truyền số lượng tham số tùy ý (biến đổi) vào hàm: `*args` cho positional arguments, `**kwargs` cho keyword arguments D D. Định nghĩa giá trị mặc định cho tham số hàm Câu 2 2. Giả sử bạn có một list lồng nhau `matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Làm thế nào để truy cập vào số 5? A A. matrix[5] B B. matrix[1][1] C C. matrix[2][2] D D. matrix[5][5] Câu 3 3. Decorator trong Python là gì? A A. Một kiểu dữ liệu đặc biệt để trang trí giao diện người dùng B B. Một cách để sửa đổi hoặc mở rộng chức năng của hàm hoặc class mà không cần thay đổi trực tiếp code của chúng C C. Một loại comment đặc biệt để ghi chú về hàm D D. Một module để quản lý các package trong Python Câu 4 4. Sự khác biệt chính giữa `==` và `is` trong Python là gì? A A. `==` so sánh giá trị, `is` so sánh kiểu dữ liệu B B. `==` so sánh tham chiếu đối tượng, `is` so sánh giá trị C C. `==` so sánh giá trị, `is` so sánh identity (tham chiếu đối tượng trong bộ nhớ) D D. `==` và `is` hoàn toàn giống nhau, có thể sử dụng thay thế Câu 5 5. Điều gì xảy ra khi bạn cố gắng truy cập một key KHÔNG tồn tại trong dictionary? A A. Trả về giá trị mặc định là None B B. Trả về một dictionary rỗng C C. Gây ra lỗi KeyError D D. Tự động tạo key mới với giá trị None Câu 6 6. Trong Python, comment (chú thích) một dòng được bắt đầu bằng ký tự nào? A A. // B B. /* C C. # D D. -- Câu 7 7. Khái niệm 'list comprehension' trong Python dùng để làm gì? A A. Tạo ra một list các số ngẫu nhiên B B. Tạo một list mới bằng cách áp dụng một biểu thức cho mỗi phần tử của một iterable C C. Sắp xếp các phần tử trong list theo thứ tự D D. Tìm kiếm một phần tử cụ thể trong list Câu 8 8. Trong Python, vòng lặp `for` thường được sử dụng để lặp qua: A A. Chỉ số số nguyên B B. Các hàm C C. Các iterable objects (ví dụ: list, tuple, string) D D. Các biến boolean Câu 9 9. Từ khóa nào được sử dụng để định nghĩa một hàm trong Python? A A. function B B. def C C. func D D. define Câu 10 10. Đoạn code Python sau in ra kết quả gì: `a = [1, 2, 3] b = a b[0] = 5 print(a)` A A. [1, 2, 3] B B. [5, 2, 3] C C. [1, 5, 3] D D. [5, 5, 3] Câu 11 11. Đoạn code Python sau in ra gì: `def func(x): return x * 2 print(func('3'))` A A. 6 B B. 33 C C. Error D D. 9 Câu 12 12. Mục đích của `if __name__ == '__main__':` trong Python script là gì? A A. Bắt đầu định nghĩa một class B B. Kiểm tra xem script có đang được chạy trực tiếp hay được import như một module C C. Khai báo biến main trong chương trình D D. Đánh dấu đây là hàm main của chương trình Câu 13 13. Cho đoạn code: `x = 5 def change_x(): x = 10 change_x() print(x)` Giá trị in ra của `x` là: A A. 10 B B. 5 C C. Error D D. None Câu 14 14. Phương thức `extend()` khác với `append()` của list như thế nào? A A. `extend()` thêm một phần tử vào list, còn `append()` thêm nhiều phần tử B B. `append()` thêm một phần tử vào list, còn `extend()` thêm các phần tử của một iterable vào list C C. `extend()` chỉ dùng cho string, còn `append()` dùng cho mọi kiểu dữ liệu D D. `append()` chỉ thêm vào đầu list, còn `extend()` thêm vào cuối list Câu 15 15. Module `os` trong Python thường được sử dụng để làm gì? A A. Thực hiện các phép toán số học B B. Tương tác với hệ điều hành (ví dụ: thao tác file, thư mục) C C. Xử lý dữ liệu dạng bảng D D. Tạo giao diện đồ họa người dùng Câu 16 16. Kết quả của đoạn code Python sau là gì: `print(3 > 2 > 1)` A A. True B B. False C C. Error D D. None Câu 17 17. Phương thức `pop()` khi được gọi trên một list sẽ làm gì? A A. Xóa tất cả phần tử khỏi list B B. Xóa và trả về phần tử CUỐI CÙNG của list C C. Xóa và trả về phần tử ĐẦU TIÊN của list D D. Đảo ngược thứ tự các phần tử trong list Câu 18 18. Giá trị trả về của hàm `len()` khi truyền vào một dictionary là gì? A A. Tổng số ký tự trong tất cả các key và value B B. Số lượng cặp key-value trong dictionary C C. Số lượng key trong dictionary D D. Số lượng value trong dictionary Câu 19 19. Trong Python, exception handling (xử lý ngoại lệ) được thực hiện bằng các khối lệnh nào? A A. if-else B B. for-loop C C. try-except D D. while-loop Câu 20 20. Toán tử `%` trong Python dùng để làm gì? A A. Phép chia phần trăm B B. Phép chia lấy phần nguyên C C. Phép chia lấy phần dư D D. Phép lũy thừa Câu 21 21. Hàm `range(start, stop, step)` tạo ra dãy số như thế nào? A A. Từ `start` đến `stop` (bao gồm cả `stop`), bước nhảy `step` B B. Từ `start` đến `stop` (KHÔNG bao gồm `stop`), bước nhảy `step` C C. Từ `start` đến `stop` (bao gồm cả `stop`), bước nhảy mặc định là 1 D D. Từ `start` đến `stop` (KHÔNG bao gồm `stop`), bước nhảy mặc định là 1 nếu `step` không được chỉ định Câu 22 22. Phương thức `super()` được sử dụng trong lập trình hướng đối tượng Python để làm gì? A A. Gọi một hàm static của class B B. Truy cập các thuộc tính private của class C C. Gọi phương thức của class cha (superclass) từ class con (subclass) D D. Tạo một instance mới của class Câu 23 23. Hàm nào sau đây KHÔNG phải là hàm built-in (tích hợp sẵn) trong Python? A A. len() B B. print() C C. sqrt() D D. int() Câu 24 24. Kiểu dữ liệu nào sau đây thường được sử dụng để lưu trữ các cặp key-value trong Python? A A. list B B. tuple C C. dictionary D D. set Câu 25 25. Phương thức `strip()` được sử dụng để làm gì với string trong Python? A A. Chuyển đổi string thành chữ hoa B B. Chuyển đổi string thành chữ thường C C. Xóa khoảng trắng ở đầu và cuối string D D. Đảo ngược string Câu 26 26. Đâu là kiểu dữ liệu KHÔNG THỂ THAY ĐỔI (immutable) trong Python? A A. list B B. tuple C C. dictionary D D. set Câu 27 27. Phương thức nào sau đây được sử dụng để thêm một phần tử vào CUỐI list trong Python? A A. insert() B B. append() C C. extend() D D. add() Câu 28 28. Generator trong Python mang lại lợi ích chính nào về mặt hiệu suất so với list thông thường khi làm việc với lượng dữ liệu lớn? A A. Generator thực thi nhanh hơn list trong mọi trường hợp B B. Generator lưu trữ tất cả các giá trị trong bộ nhớ cùng một lúc, giúp truy cập nhanh hơn C C. Generator tạo ra các giá trị một cách tuần tự (lazy evaluation), tiết kiệm bộ nhớ vì không lưu trữ toàn bộ dữ liệu cùng lúc D D. Generator có thể dễ dàng chuyển đổi thành list khi cần thiết Câu 29 29. Phương thức `split()` của string dùng để làm gì? A A. Nối hai string lại với nhau B B. Chia một string thành một list các substring dựa trên một dấu phân cách C C. Tìm kiếm một substring trong string D D. Thay thế một substring bằng một substring khác Câu 30 30. Khi nào nên sử dụng list comprehension thay vì vòng lặp `for` truyền thống để tạo list trong Python? A A. Khi cần tạo list chứa các số ngẫu nhiên B B. Khi cần tạo list dựa trên một iterable và biểu thức đơn giản, để code ngắn gọn và dễ đọc hơn C C. Khi cần thực hiện các thao tác phức tạp trên mỗi phần tử D D. Khi cần lặp qua dictionary Đề 15 – Bài tập, đề thi trắc nghiệm online Hô hấp Đề 2 – Bài tập, đề thi trắc nghiệm online Cơ sở sinh thái học