What is the type of the results variable in the following code snippet?

4 phương ánCó giải thích
Đề bài
import sqlite3
connection = sqlite3.connection("people.db")
cursor = connection.cursor()
cursor.execute("SELECT * FROM People")
results = cursor.fetchall()

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "list". Phương thức fetchall() của con trỏ sqlite3 lấy toàn bộ các dòng còn lại của kết quả truy vấn và trả về một list (danh sách), trong đó mỗi dòng mặc định là một tuple chứa giá trị các cột, chẳng hạn [('Alice', 25), ('Bob', 30)]; không có dòng nào thì trả về list rỗng. Cần lưu ý đoạn mã có lỗi tên: hàm mở kết nối đúng là sqlite3.connect, viết sqlite3.connection sẽ ném AttributeError; câu hỏi giả định đoạn mã chạy được. Phương án "querySet" gợi tới kiểu QuerySet của Django ORM, không thuộc sqlite3. Phương án "tuple" là kiểu của từng dòng bên trong kết quả, cũng là thứ fetchone() trả về, chứ không phải kiểu của cả kết quả fetchall(). Phương án "dict" chỉ đúng với từng dòng khi tự đặt connection.row_factory thành một hàm tạo dict, và ngay cả khi đó fetchall() vẫn trả về list các dict.

Cùng phần 4

Xuất hiện trong 1 bộ đề