我正在开发一个函数,从数据库中获取信息,以便获取返回值。我试图找出如何一次从UpdateEPG
函数中获取每个值。你知道吗
当我尝试这个:
def UpdateEpg(self, program_title = '', program_start = '', program_stop = ''):
conn = database.connect(self.profilePath)
cur = conn.cursor()
cur.execute("SELECT title, start_date, stop_date FROM programs where channel=? LIMIT 2", [channel])
program = cur.fetchall()
for ind, row in enumerate(program):
program_title = row[0]
program_start_date = str(row[1])
program_stop_date = str(row[2])
return program_title, program_start_date, program_stop_date
self.UpdateEpg()
print self.UpdateEPG(program_title)
print self.UpdateEPG(program_start_date)
print self.UpdateEPG(program_stop_date)
它不允许我从UpdateEpg
获取单个值。我想得到一个值,这样我就可以输入对象来设置标签。你能给我举一个例子,说明我如何获得每个变量的program_title
、program_start_date
和program_stop_date
来访问UpdateEpg
以获得我要查找的信息吗?你知道吗
因为方法返回元组,所以可以使用索引来获取所需的值。你知道吗
当然,您可以按自己喜欢的方式使用和打印元组。注意,您需要在声明的类内调用
self.UpdateEpg()
。你知道吗访问多个值类似于返回多个值。把名字放在
=
的左边看起来你对Python还不熟悉。以及一般的编程。这一点都不坏,即使是最优秀的人也必须从某个地方开始。以下是一些从12岁起就开始使用Python的人的建议。(好吧,才三年左右,但还是……)
首先,我强烈建议您使用Python3而不是Python2,如果您能帮助的话。Python2已经被弃用了四年,这个程序将在Python3上运行,几乎没有修改。你知道吗
其次,在Python中,一切都是按值传递的。为传递到函数中的变量赋值不会改变该变量在函数外的值,例如:
(注意,在交互式提示符下,大多数对
print()
的调用都是不必要的。只需输入变量名(或1+1
或someFunction()
等表达式)即可打印其值。)此规则的例外是某些对象(如列表)是可变的。它们的内容(而不是列表本身)可以从函数内部更改:
请注意,myfunc函数没有更改列表本身,它只更改了列表中的一个值。你知道吗
字符串不属于这一类。在Python中,字符串是不可变的。一旦设置了它们的内容,就不能更改它们。更改字符串值的唯一方法是为变量指定一个新值,使其忘记旧值。你知道吗
第三,在Python中,函数可以以元组的形式返回多个值,这类似于一个列表,但它使用括号(可选,可以省略)而不是方括号,并且其内容不能更改(从上面对元组调用myfunc2会导致错误)。另一个方便的特性是元组解包(也适用于列表和任何其他类型的序列),如下所示:
以下是
UpdateEpg()
的一个版本,它考虑了以下几点:很抱歉出现了文本墙,但是我想确保人们在从StackOverflow复制粘贴代码之前理解他们的程序在做什么。你知道吗
相关问题 更多 >
编程相关推荐