Python while循环中的变量赋值

Python while循环中的变量赋值,python,mysql,Python,Mysql,在python中执行上述操作最接近的模式是什么 while (item=self.cursor.fetchone()): print item['id'] 基本上,我希望得到单个数据库行的结果。做这件事最直接的方法是什么,或者我是否需要一些通用的循环,比如,而1?文档页面上有一个全面的部分: 下面的示例显示了处理查询的两种等效方法 结果。第一个在循环中使用fetchone() 游标作为迭代器: Python将在Python 3.8中添加赋值表达式。在此之前,作业都是陈述。如果没有,那么

在python中执行上述操作最接近的模式是什么

while (item=self.cursor.fetchone()):
    print item['id']

基本上,我希望得到单个数据库行的结果。做这件事最直接的方法是什么,或者我是否需要一些通用的循环,比如
,而1

文档页面上有一个全面的部分:

下面的示例显示了处理查询的两种等效方法 结果。第一个在
循环中使用
fetchone()
游标作为迭代器:


Python将在Python 3.8中添加赋值表达式。在此之前,作业都是陈述。如果没有,那么
item=cursor.fetchone();而项目:。。。。;item=cursor.fetchone()
您的数据库引擎是什么?顺便说一句,这是对该语言的一个极具争议的补充。显然,对PEP 572采用的愤怒是如此之大,这是Guido van Rossum辞去BDFL职务的主要动机@RomanPerekhrest这是一个好问题,因为一些DB适配器api支持在光标上直接迭代以逐行获得结果。在您的案例中,将相应的DB引擎名称添加到标记列表中是明智的,明白了——感谢这个非常清晰的示例和两个选项。第二种选择非常简洁,我以前从未见过这种风格。
# Using a while loop
cursor.execute("SELECT * FROM employees")
row = cursor.fetchone()
while row is not None:
    print(row)
    row = cursor.fetchone()

# Using the cursor as iterator
cursor.execute("SELECT * FROM employees")
for row in cursor:
    print(row)