【发布时间】:2017-07-14 10:37:19
【问题描述】:
我目前正在学习 Coursera 提供的 Python 数据库课程。该课程的链接可以在这里找到: https://www.coursera.org/learn/python-databases
我不是要求任何人做我的功课,只是为了澄清 Python 2 如何读取 for 循环并优先考虑 if 语句。您可以在此处下载我正在解析的相应代码和 XML 文件:
http://www.pythonlearn.com/code/tracks.zip
该程序打算做的一切都超出了这个问题的范围。在tracks.py 程序中,我遇到了一个帮助函数,用于提取Library.xml 文件中声明的字典中的键值。它看起来像这样:
def lookup(d, key):
found = False
for child in d:
if found : return child.text
if child.tag == 'key' and child.text == key : found = True
return None
乍一看,这个函数如何检查found 布尔值并返回给定键的值之前 以检查它是否存在,这对我来说没有意义地方。但是,当我尝试切换这两个语句时,程序没有正确读取数据。 这是为什么?
如果有人想让我发布我的测试方式并发现为什么这不起作用,请告诉我,我会添加一些输出。
【问题讨论】:
-
Python 从上到下评估语句,就像大多数语言一样。我的猜测只是该函数应该在带有
key的元素之后返回 next 元素。 -
是的,这是有道理的。谢谢老大。
标签: python python-2.7 dictionary if-statement for-loop