Bộ 7 - Trắc nghiệm Lập trình Python online có đáp án
Thời gian còn lại: --:--
Kết quả của bạn:
Bạn đã đúng:
Bạn đã sai:
Tổng số câu:
Câu 1:
Trong Python, sự khác biệt cơ bản giữa toán tử '==' và toán tử 'is' là gì?
💡 Lời giải chi tiết:
Theo tài liệu Python chính thức, toán tử '==' thực hiện so sánh giá trị (equality) trong khi 'is' thực hiện so sánh định danh (identity). Kết luận Lý giải: Toán tử '==' so sánh giá trị của hai đối tượng, trong khi 'is' kiểm tra xem hai biến có cùng trỏ đến một đối tượng trong bộ nhớ hay không.
Câu 2:
Kết quả của biểu thức 'len({1, 2, 2, 3, 3, 3})' trong Python là bao nhiêu?
💡 Lời giải chi tiết:
Kiểu dữ liệu 'set' trong Python chỉ lưu trữ các phần tử duy nhất, do đó các giá trị trùng lặp sẽ bị loại bỏ. Kết luận Lý giải: 3
Câu 3:
Phương thức nào của 'dictionary' cho phép lấy giá trị của một khóa mà không gây lỗi 'KeyError' nếu khóa đó không tồn tại?
💡 Lời giải chi tiết:
Phương thức 'get()' trả về giá trị của khóa nếu có, ngược lại trả về 'None' hoặc một giá trị mặc định được chỉ định thay vì báo lỗi. Kết luận Lý giải: get()
Câu 4:
Để đảo ngược một chuỗi 's' trong Python bằng kỹ thuật 'slicing', cú pháp nào sau đây là đúng?
💡 Lời giải chi tiết:
Cú pháp 'slice(start:stop:step)' với bước nhảy 'step' là -1 sẽ duyệt chuỗi theo chiều ngược lại. Kết luận Lý giải: s[::-1]
Câu 5:
Trong Python, từ khóa nào được dùng để truy cập và sửa đổi một biến được định nghĩa ở phạm vi bên ngoài hàm (global scope)?
💡 Lời giải chi tiết:
Từ khóa 'global' cho phép lập trình viên tham chiếu đến biến ở cấp độ module từ bên trong một hàm. Kết luận Lý giải: global
Câu 6:
Khối lệnh nào trong cấu trúc 'try-except-finally' luôn luôn được thực thi bất kể có ngoại lệ xảy ra hay không?
💡 Lời giải chi tiết:
Khối 'finally' được thiết kế để thực hiện các hành động dọn dẹp như đóng file hoặc giải phóng tài nguyên. Kết luận Lý giải: finally
Câu 7:
Kết quả của phép toán '10 // 3' trong Python là gì?
💡 Lời giải chi tiết:
Toán tử '//' thực hiện phép chia lấy phần nguyên (floor division) và trả về số nguyên nhỏ hơn hoặc bằng kết quả. Kết luận Lý giải: 3
Câu 8:
Kiểu dữ liệu nào sau đây là 'immutable' (không thể thay đổi sau khi tạo)?
💡 Lời giải chi tiết:
Trong Python, 'tuple' là một chuỗi các phần tử có thứ tự và không thể bị sửa đổi nội dung sau khi đã khởi tạo. Kết luận Lý giải: Tuple
Câu 9:
Tham số '*args' trong định nghĩa một hàm có ý nghĩa gì?
💡 Lời giải chi tiết:
Cú pháp '*args' thu gom các đối số vị trí dư thừa vào một đối tượng kiểu 'tuple'. Kết luận Lý giải: Cho phép truyền một số lượng bất kỳ các đối số vị trí (positional arguments).
Câu 10:
Cách nào đúng để kiểm tra xem một khóa 'key' có tồn tại trong 'dictionary' tên là 'd' hay không?
💡 Lời giải chi tiết:
Toán tử 'in' là cách chuẩn và hiệu quả nhất để kiểm tra sự tồn tại của thành viên trong các 'collection' của Python. Kết luận Lý giải: if key in d:
Câu 11:
Phương thức nào được dùng để thêm toàn bộ các phần tử của một 'iterable' vào cuối một danh sách có sẵn?
💡 Lời giải chi tiết:
Trong khi 'append' thêm toàn bộ đối tượng vào như một phần tử đơn lẻ, 'extend' sẽ giải nén các phần tử của 'iterable' để thêm vào. Kết luận Lý giải: extend()
Câu 12:
Biến hệ thống '__name__' sẽ có giá trị là gì nếu module chứa nó đang được chạy trực tiếp?
💡 Lời giải chi tiết:
Khi một file Python được thực thi trực tiếp, trình thông dịch sẽ gán chuỗi '__main__' cho biến đặc biệt '__name__'. Kết luận Lý giải: '__main__'
Câu 13:
Hàm 'zip()' trong Python có tác dụng gì?
💡 Lời giải chi tiết:
Hàm 'zip()' tạo ra một 'iterator' tạo thành các 'tuple' dựa trên các 'iterable' được truyền vào. Kết luận Lý giải: Kết hợp các phần tử từ các 'iterable' khác nhau thành các 'tuple' theo cặp tương ứng.
Câu 14:
Đâu là kết quả của biểu thức 'bool([])' trong Python?
💡 Lời giải chi tiết:
Trong Python, các 'collection' rỗng (như list, tuple, dict, set rỗng) luôn được coi là giá trị 'False' khi ép kiểu Boolean. Kết luận Lý giải: False
Câu 15:
Để định nghĩa một lớp 'B' kế thừa từ lớp 'A', cú pháp nào sau đây là chính xác?
💡 Lời giải chi tiết:
Python sử dụng dấu ngoặc đơn sau tên lớp con để liệt kê các lớp cha mà nó kế thừa. Kết luận Lý giải: class B(A):
Câu 16:
Chế độ (mode) nào trong hàm 'open()' dùng để mở một tệp để ghi thêm dữ liệu vào cuối tệp mà không xóa dữ liệu cũ?
💡 Lời giải chi tiết:
Chế độ 'a' (append) mở tệp để ghi và tự động đặt con trỏ chuột ở cuối tệp. Kết luận Lý giải: 'a'
Câu 17:
Kết quả của 'list(range(1, 5))' là gì?
💡 Lời giải chi tiết:
Hàm 'range(start, stop)' tạo dãy số từ 'start' đến 'stop - 1'. Kết luận Lý giải: [1, 2, 3, 4]
Câu 18:
Hàm 'lambda' trong Python được hiểu là gì?
💡 Lời giải chi tiết:
Từ khóa 'lambda' cho phép tạo ra các hàm nhỏ, không tên và chỉ gồm một dòng lệnh duy nhất. Kết luận Lý giải: Một hàm ẩn danh (anonymous function) có thể chứa một biểu thức duy nhất.
Câu 19:
Lệnh 'break' có tác dụng gì khi được thực thi bên trong một vòng lặp?
💡 Lời giải chi tiết:
Lệnh 'break' kết thúc sớm quá trình thực thi của vòng lặp 'for' hoặc 'while' gần nó nhất. Kết luận Lý giải: Dừng vòng lặp hiện tại và thoát ra ngoài cấu trúc lặp đó ngay lập tức.
Câu 20:
Câu lệnh nào dùng để loại bỏ tất cả các khoảng trắng dư thừa ở cả đầu và cuối của một chuỗi?
💡 Lời giải chi tiết:
Phương thức 'strip()' của đối tượng chuỗi trả về bản sao chuỗi đã được loại bỏ các ký tự khoảng trắng ở hai đầu. Kết luận Lý giải: strip()
Câu 21:
Khi sử dụng hàm 'sorted()', làm thế nào để sắp xếp danh sách theo thứ tự giảm dần?
💡 Lời giải chi tiết:
Tham số 'reverse' nhận giá trị Boolean để quyết định chiều của kết quả sắp xếp. Kết luận Lý giải: Sử dụng tham số 'reverse=True'.
Câu 22:
Để lấy ra một phần của danh sách 'a' từ chỉ số 1 đến 3 (không bao gồm chỉ số 3), ta dùng cú pháp nào?
💡 Lời giải chi tiết:
Kỹ thuật 'slicing' trong Python có tính chất bao gồm chỉ số bắt đầu nhưng loại trừ chỉ số kết thúc. Kết luận Lý giải: a[1:3]
Câu 23:
Lỗi 'ZeroDivisionError' xảy ra trong trường hợp nào?
💡 Lời giải chi tiết:
Đây là một ngoại lệ tích hợp của Python được ném ra khi mẫu số của phép chia hoặc phép lấy dư bằng 0. Kết luận Lý giải: Khi thực hiện phép chia một số cho 0.
Câu 24:
Hàm 'map(str, [1, 2, 3])' sẽ trả về kết quả gì?
💡 Lời giải chi tiết:
Trong Python 3, hàm 'map' trả về một 'iterator' chứ không phải một danh sách cho đến khi được ép kiểu hoặc duyệt qua. Kết luận Lý giải: Một đối tượng 'map' (map object) chứa các chuỗi '1', '2', '3'.
Câu 25:
Từ khóa 'yield' trong Python được sử dụng để làm gì?
💡 Lời giải chi tiết:
Sử dụng 'yield' cho phép hàm bảo toàn trạng thái và tiếp tục chạy từ điểm dừng đó trong lần gọi tiếp theo. Kết luận Lý giải: Biến một hàm thành một 'generator' để trả về lần lượt các giá trị khi được lặp.