Đề thi, bài tập trắc nghiệm online Lập trình PythonĐề 13 – 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 Đề 13 – Bài tập, đề thi trắc nghiệm online Lập trình Python Đề 13 – Bài tập, đề thi trắc nghiệm online Lập trình Python Số câu30Quiz ID11588 Làm bài Câu 1 1. Khái niệm 'duck typing' trong Python nghĩa là gì? A A. Kiểm tra kiểu dữ liệu một cách rõ ràng trước khi thực hiện thao tác B B. Kiểu dữ liệu của biến được xác định khi khai báo C C. Không quan tâm đến kiểu dữ liệu cụ thể, chỉ quan tâm đối tượng có phương thức và thuộc tính cần thiết hay không D D. Python là ngôn ngữ 'typed' mạnh mẽ Câu 2 2. Phương thức `__init__` trong class Python được gọi khi nào? A A. Khi class được định nghĩa B B. Khi một đối tượng của class được tạo C C. Khi một phương thức của class được gọi D D. Khi class bị xóa khỏi bộ nhớ Câu 3 3. Trong Python, module `os` thường được sử dụng để làm gì? A A. Xử lý số liệu thống kê B B. Tương tác với hệ điều hành C C. Làm việc với cơ sở dữ liệu D D. Tạo giao diện đồ họa Câu 4 4. Hàm nào sau đây trả về số lượng phần tử trong một list, tuple, dictionary hoặc string? A A. length() B B. count() C C. size() D D. len() Câu 5 5. Biểu thức chính quy (regular expression) trong Python được sử dụng để làm gì? A A. Tạo số ngẫu nhiên B B. Xử lý và tìm kiếm pattern trong string C C. Nén và giải nén file D D. Mã hóa và giải mã dữ liệu Câu 6 6. Trong Python, kiểu dữ liệu nào sau đây là *không thể thay đổi* (immutable)? A A. list B B. set C C. tuple D D. dictionary Câu 7 7. Hàm nào sau đây được sử dụng để mở một file trong Python để đọc? A A. openfile() B B. readfile() C C. file.open() D D. open() Câu 8 8. Trong Python, garbage collection (thu gom rác) là gì và nó hoạt động như thế nào? A A. Một quá trình tối ưu hóa code để giảm dung lượng file B B. Một cơ chế tự động quản lý bộ nhớ, giải phóng bộ nhớ không còn được sử dụng C C. Một phương pháp kiểm soát lỗi và ngoại lệ D D. Một kỹ thuật mã hóa dữ liệu Câu 9 9. Generator trong Python là gì? A A. Một loại biến đặc biệt lưu trữ nhiều giá trị B B. Một hàm trả về một iterator C C. Một class đặc biệt để tạo đối tượng lặp D D. Một module để tạo số ngẫu nhiên Câu 10 10. 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 của tham số B B. Truyền số lượng tham số biến đổi vào hàm C C. Định nghĩa giá trị mặc định cho tham số D D. Truyền tham số theo vị trí và theo tên Câu 11 11. Phương thức `extend()` khác với `append()` của list trong Python như thế nào? A A. `extend()` chỉ dùng cho số, `append()` dùng cho mọi kiểu dữ liệu B B. `extend()` thêm một iterable vào list, `append()` thêm một phần tử vào list C C. `extend()` tạo list mới, `append()` sửa đổi list hiện tại D D. `extend()` nhanh hơn `append()` Câu 12 12. Phương thức `strip()` trong Python được sử dụng cho kiểu dữ liệu nào và làm gì? A A. List, để loại bỏ phần tử trùng lặp B B. String, để loại bỏ khoảng trắng ở đầu và cuối chuỗi C C. Dictionary, để loại bỏ các key có giá trị None D D. Tuple, để loại bỏ phần tử None Câu 13 13. Mục đích của câu lệnh `try...except` trong Python là gì? A A. Tối ưu hóa hiệu suất code B B. Xử lý ngoại lệ (exceptions) và lỗi C C. Định nghĩa hàm mới D D. Tạo vòng lặp vô hạn Câu 14 14. Virtual environment trong Python dùng để làm gì? A A. Tăng tốc độ thực thi chương trình Python B B. Cách ly các dependency của dự án Python C C. Quản lý phiên bản Python D D. Biên dịch code Python sang ngôn ngữ máy Câu 15 15. Kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu built-in trong Python? A A. int B B. float C C. complex D D. array Câu 16 16. Phương thức `pop()` khi được gọi trên một list Python sẽ làm gì? A A. Xóa tất cả phần tử khỏi list B B. Xóa phần tử đầu tiên của list C C. Xóa và trả về phần tử cuối cùng của list (mặc định) hoặc tại index chỉ định D D. Thêm một phần tử vào cuối list Câu 17 17. Đ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 Python? A A. Trả về giá trị mặc định là None B B. Trả về 0 C C. Gây ra lỗi KeyError D D. Tạo key mới với giá trị None Câu 18 18. Hàm `map()` trong Python hoạt động như thế nào? A A. Áp dụng một hàm lên từng cặp phần tử từ hai hoặc nhiều list B B. Áp dụng một hàm lên từng phần tử của một iterable và trả về một iterator chứa kết quả C C. Lọc các phần tử của một iterable dựa trên một hàm điều kiện D D. Sắp xếp các phần tử của một iterable Câu 19 19. GIL (Global Interpreter Lock) trong Python là gì và ảnh hưởng đến hiệu năng như thế nào? A A. Một cơ chế quản lý bộ nhớ giúp tăng hiệu năng B B. Một mutex (khóa độc quyền) chỉ cho phép một thread Python native thực thi bytecode tại một thời điểm C C. Một trình biên dịch JIT (Just-In-Time) cải thiện tốc độ thực thi D D. Một kỹ thuật garbage collection hiệu quả Câu 20 20. 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. add() C C. append() D D. extend() Câu 21 21. Khi nào nên sử dụng `set` thay vì `list` trong Python? A A. Khi cần truy cập phần tử theo index nhanh chóng B B. Khi thứ tự của các phần tử quan trọng C C. Khi cần đảm bảo các phần tử là duy nhất và kiểm tra sự tồn tại nhanh chóng D D. Khi cần lưu trữ dữ liệu có cấu trúc phức tạp Câu 22 22. Đoạn code Python sau sẽ in ra kết quả gì? ```python for i in range(1, 5): if i % 2 == 0: print(i) ``` A A. 1 2 3 4 B B. 2 4 C C. 1 3 D D. Không in ra gì Câu 23 23. Phương thức `__str__` và `__repr__` trong class Python khác nhau như thế nào? A A. `__str__` dùng để tạo bản sao đối tượng, `__repr__` để xóa đối tượng B B. `__str__` dùng để biểu diễn đối tượng dễ đọc cho người dùng, `__repr__` để biểu diễn đối tượng không mơ hồ cho developer C C. `__str__` chỉ dùng cho string, `__repr__` cho mọi kiểu dữ liệu D D. `__str__` nhanh hơn `__repr__` Câu 24 24. Để tạo một list comprehension lọc các số chẵn từ list `numbers = [1, 2, 3, 4, 5, 6]`, cú pháp đúng là gì? A A. [x for x in numbers if x % 2 == 0] B B. [x if x % 2 == 0 for x in numbers] C C. [for x in numbers if x % 2 == 0: x] D D. list(filter(lambda x: x % 2 == 0, numbers)) Câu 25 25. Trong Python, điều gì sẽ xảy ra nếu bạn chia một số cho 0? A A. Trả về giá trị Infinity B B. Trả về 0 C C. Gây ra lỗi ZeroDivisionError D D. Trả về giá trị NaN (Not a Number) Câu 26 26. Kết quả của biểu thức `3 + 5 * 2 ** 2 - 10 // 3` trong Python là bao nhiêu? A A. 17 B B. 18 C C. 20 D D. 23 Câu 27 27. Sự khác biệt chính giữa `list` và `tuple` trong Python là gì? A A. List có thể chứa các kiểu dữ liệu khác nhau, tuple thì không B B. List là mutable, tuple là immutable C C. List nhanh hơn tuple trong việc truy cập phần tử D D. Tuple có thể được dùng làm key trong dictionary, list thì không Câu 28 28. Decorator trong Python được sử dụng để làm gì? A A. Tối ưu hóa hiệu suất code B B. Sửa đổi hoặc mở rộng chức năng của hàm hoặc class C C. Kiểm soát truy cập vào biến D D. Tạo giao diện người dùng đồ họa Câu 29 29. Trong Python, `if __name__ == '__main__':` thường được sử dụng để làm gì? A A. Khai báo tên biến global B B. Xác định hàm main của chương trình C C. Ngăn chặn việc thực thi code khi module được import D D. Bắt đầu một thread mới Câu 30 30. Module `json` trong Python được sử dụng để làm gì? A A. Làm việc với hệ điều hành B B. Xử lý dữ liệu dạng JSON (JavaScript Object Notation) C C. Tạo giao diện người dùng D D. Thực hiện các phép toán số học phức tạp Đề 12 – Bài tập, đề thi trắc nghiệm online Sinh lý hô hấp Đề 14 – Bài tập, đề thi trắc nghiệm online Cơ sở sinh thái học