我有一个看起来像这样的课程:
class Test:
def __init__(self,entry):
self.entry = entry
def __str__(self):
return "StringName{0}".format(self.entry)
我正在使用以特定格式返回值。
(注意:这是我正在学习的课程的作业,因此要求将此课程设置为这样)
现在我需要从sqlite3 db进行查询。我有一个类将所有记录添加到数据库,它可以正常工作。但是,在类中,我需要有一个方法将查询结果作为双端队列返回。
我有这个功能,我正试图这样做:
def select_all(self):
dbconnect = sqlite3.connect('database.db')
dbcursor = dbconnect.cursor()
double_ended_que = collections.deque()
for row in dbcursor.execute('SELECT ("(" || player_name || ", " || games_played || ", "\
|| average || ", " || salary || ")") FROM baseball_stats'):
rowname = print(Test(row))
double_ended_que.append(rowname)
dbconnect.close()
return double_ended_que
如果我有rowname = print(Test(row))
,则打印所有行值,然后用无填充双端队列。
但是,如果我删除了打印并且只有rowname = Test(row)
,那么我会返回实际的类数据,看起来像deque([<Test object at 0x00000156FE8F0EB8>, etc etc
还有其他方法可以满足这两个要求吗?或者我应该在Test
类中创建另一个函数,除了让__str__
执行相同的操作之外还返回值?
答案 0 :(得分:3)
ARRAYFORMULA(INDIRECT())
输出到屏幕,但它会返回print
,因此您不会存储任何有用的内容。如果要进行字符串化,请执行:
None