Bộ 9 - 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, điểm khác biệt cơ bản nhất giữa kiểu dữ liệu 'list' và 'tuple' là gì?
💡 Lời giải chi tiết:
Theo đặc tính của kiểu dữ liệu Python, 'list' là đối tượng có thể thay đổi (mutable) trong khi 'tuple' là đối tượng bất biến (immutable) sau khi khởi tạo. Kết luận Lý giải: List có thể thay đổi phần tử còn Tuple thì không.
Câu 2:
Kết quả của biểu thức '3 ** 2' trong Python là bao nhiêu?
💡 Lời giải chi tiết:
Trong Python, toán tử '**' được sử dụng để thực hiện phép tính lũy thừa, do đó '3 mũ 2' trả về kết quả là 9. Kết luận Lý giải: 9
Câu 3:
Phương thức nào được dùng để thêm một phần tử vào cuối danh sách (list) trong Python?
💡 Lời giải chi tiết:
Phương thức 'append()' trong Python được thiết kế riêng để thêm một đối tượng duy nhất vào vị trí cuối cùng của một danh sách hiện có. Kết luận Lý giải: append()
Câu 4:
Để đảo ngược chuỗi 's = 'Python'', cú pháp nào sau đây là chính xác và phổ biến nhất?
💡 Lời giải chi tiết:
Sử dụng kỹ thuật 'slicing' với bước nhảy là -1 giúp truy cập các phần tử của chuỗi theo thứ tự từ cuối lên đầu. Kết luận Lý giải: s[::-1]
Câu 5:
Hàm 'len()' trong Python có tác dụng gì khi áp dụng cho một danh sách?
💡 Lời giải chi tiết:
Hàm 'len()' là một hàm tích hợp sẵn dùng để trả về độ dài hoặc số lượng mục trong một đối tượng tuần tự. Kết luận Lý giải: Trả về số lượng phần tử có trong danh sách.
Câu 6:
Câu lệnh nào được sử dụng để bắt đầu một khối lệnh điều kiện trong Python?
💡 Lời giải chi tiết:
Trong cấu trúc điều khiển của Python, từ khóa 'if' được sử dụng để kiểm tra một biểu thức logic và thực thi khối lệnh đi kèm nếu biểu thức đó đúng. Kết luận Lý giải: if
Câu 7:
Từ khóa nào được dùng để định nghĩa một hàm trong Python?
💡 Lời giải chi tiết:
Cấu trúc định nghĩa hàm trong Python luôn bắt đầu bằng từ khóa 'def' theo sau là tên hàm và các tham số. Kết luận Lý giải: def
Câu 8:
Kết quả của biểu thức 'type(10.5)' là gì?
💡 Lời giải chi tiết:
Trong Python, các số có chứa dấu phẩy động được phân loại vào kiểu dữ liệu 'float'. Kết luận Lý giải: kiểu 'float'
Câu 9:
Toán tử nào dùng để so sánh hai giá trị xem chúng có bằng nhau hay không?
💡 Lời giải chi tiết:
Toán tử '==' được sử dụng để kiểm tra tính bằng nhau về giá trị giữa hai đối tượng, khác với '=' là toán tử gán. Kết luận Lý giải: ==
Câu 10:
Làm thế nào để lấy giá trị của khóa 'name' từ từ điển 'd = {'name': 'Alice'}' mà không gây lỗi nếu khóa không tồn tại?
💡 Lời giải chi tiết:
Phương thức 'get()' của từ điển cho phép truy xuất giá trị theo khóa và trả về 'None' hoặc giá trị mặc định nếu khóa không tồn tại thay vì gây lỗi 'KeyError'. Kết luận Lý giải: d.get('name')
Câu 11:
Cấu trúc nào được dùng để lặp qua từng phần tử của một danh sách?
💡 Lời giải chi tiết:
Python sử dụng vòng lặp 'for' kết hợp với từ khóa 'in' để duyệt qua các phần tử của một 'iterable' như danh sách hoặc chuỗi. Kết luận Lý giải: vòng lặp 'for'
Câu 12:
Ý nghĩa của tham số '*args' trong định nghĩa hàm là gì?
💡 Lời giải chi tiết:
Ký hiệu dấu sao '*' trước tham số 'args' cho phép hàm chấp nhận bất kỳ số lượng đối số vị trí nào và gom chúng lại thành một 'tuple'. Kết luận Lý giải: Cho phép truyền vào một số lượng biến động các đối số vị trí.
Câu 13:
Tại sao việc sử dụng câu lệnh 'with open(...)' lại được khuyến khích khi làm việc với tệp tin?
💡 Lời giải chi tiết:
Câu lệnh 'with' đóng vai trò là một 'context manager', đảm bảo các tài nguyên như tệp tin luôn được đóng đúng cách ngay cả khi có ngoại lệ xảy ra. Kết luận Lý giải: Vì nó tự động đóng tệp tin sau khi hoàn thành công việc.
Câu 14:
Hàm 'lambda' trong Python là gì?
💡 Lời giải chi tiết:
Hàm 'lambda' là các hàm ẩn danh (anonymous functions) được định nghĩa trên một dòng duy nhất để thực hiện các tính toán đơn giản. Kết luận Lý giải: Một hàm không có tên, thường được dùng cho các tác vụ ngắn gọn.
Câu 15:
Phần tử nào không thể là khóa (key) của một từ điển (dictionary) trong Python?
💡 Lời giải chi tiết:
Các khóa trong từ điển phải là các đối tượng 'hashable' và bất biến, do đó danh sách (list) là đối tượng có thể thay đổi nên không thể làm khóa. Kết luận Lý giải: Danh sách (list)
Câu 16:
Từ khóa nào được sử dụng để xử lý ngoại lệ trong Python?
💡 Lời giải chi tiết:
Cấu trúc 'try-except' được Python sử dụng để bao bọc các đoạn mã có khả năng gây lỗi và bắt các ngoại lệ để xử lý mà không làm dừng chương trình. Kết luận Lý giải: try-except
Câu 17:
Trong lập trình hướng đối tượng với Python, 'self' đại diện cho điều gì?
💡 Lời giải chi tiết:
Tham số 'self' trong các phương thức của lớp được dùng để tham chiếu đến chính đối tượng (instance) đang gọi phương thức đó. Kết luận Lý giải: Thực thể hiện tại của lớp đó.
Câu 18:
Kết quả của 'list(range(1, 10, 2))' là danh sách nào?
💡 Lời giải chi tiết:
Hàm 'range(start, stop, step)' tạo ra một dãy số bắt đầu từ 1, kết thúc trước 10 với khoảng cách giữa các số là 2. Kết luận Lý giải: [1, 3, 5, 7, 9]
Câu 19:
Hàm 'zip()' trong Python thực hiện chức năng gì?
💡 Lời giải chi tiết:
Hàm 'zip()' lấy các phần tử có cùng chỉ số từ nhiều đối tượng lặp và ghép chúng lại thành các bộ giá trị tương ứng. Kết luận Lý giải: Kết hợp các phần tử từ nhiều 'iterables' thành các cặp 'tuple'.
Câu 20:
Phương thức '__init__' trong một lớp Python được gọi khi nào?
💡 Lời giải chi tiết:
Phương thức '__init__' là một phương thức đặc biệt (constructor) tự động thực thi ngay khi một thực thể của lớp được tạo ra để thiết lập các thuộc tính ban đầu. Kết luận Lý giải: Khi một đối tượng mới của lớp được khởi tạo.
Câu 21:
Điều gì xảy ra nếu bạn sửa đổi một danh sách được truyền làm giá trị mặc định cho tham số của hàm?
💡 Lời giải chi tiết:
Trong Python, các đối số mặc định có kiểu dữ liệu thay đổi được (mutable) chỉ được khởi tạo một lần duy nhất khi hàm được định nghĩa, dẫn đến việc chia sẻ dữ liệu giữa các lần gọi. Kết luận Lý giải: Sự thay đổi sẽ được lưu lại và ảnh hưởng đến các lần gọi hàm sau.
Câu 22:
Giá trị nào sau đây được coi là 'False' khi đánh giá trong một câu lệnh điều kiện?
💡 Lời giải chi tiết:
Trong Python, các đối tượng trống rỗng như chuỗi rỗng, danh sách rỗng, hoặc số 0 đều được đánh giá là giá trị 'False' về mặt logic. Kết luận Lý giải: Chuỗi rỗng ''
Câu 23:
Hàm 'enumerate()' trả về kết quả dưới dạng gì?
💡 Lời giải chi tiết:
Hàm 'enumerate()' thêm một bộ đếm vào một đối tượng lặp và trả về nó dưới dạng một đối tượng liệt kê chứa cặp chỉ số và giá trị tương ứng. Kết luận Lý giải: Một đối tượng lặp trả về các cặp (chỉ số, giá trị).
Câu 24:
Sự khác biệt giữa 'copy.copy()' và 'copy.deepcopy()' là gì?
💡 Lời giải chi tiết:
Trong khi 'copy' chỉ sao chép tham chiếu của các đối tượng con (shallow copy), 'deepcopy' sẽ đệ quy sao chép toàn bộ các đối tượng lồng nhau (deep copy). Kết luận Lý giải: 'deepcopy' sao chép cả các đối tượng lồng nhau bên trong, còn 'copy' thì không.
Câu 25:
Lệnh nào dùng để nối các phần tử của một danh sách chuỗi thành một chuỗi duy nhất với dấu phẩy ngăn cách?
💡 Lời giải chi tiết:
Phương thức 'join()' thuộc kiểu dữ liệu chuỗi được sử dụng để kết nối các phần tử của một danh sách chuỗi bằng cách dùng chuỗi gốc làm vật ngăn cách. Kết luận Lý giải: ','.join(list)