我是程序员新手,我正在练习练习。在练习41中,我有点困惑(http://learnpythonthehardway.org/book/ex41.html)。
我不懂行n。 25:
if len(sys.argv) == 2 and sys.argv[1] == "english":
我试过查找sys.argv的功能,但我似乎无法绕过它。根据我的理解 - sys.argv是一个命令行参数列表,但是我不明白脚本中这些参数的位置。因此,我不理解分支。
我理解“len”计算该列表中的项目数,这意味着必须至少有三个参数,列表中的第一项必须包含字符串“english”。我只是不明白如何在这个特定的脚本中声明参数。
我正在使用Python 2.7
答案 0 :(得分:2)
中的参数不在脚本中。它们被称为命令行参数,因为它们是在用户从命令行调用脚本时由用户提供的:
python oop_test.py english
# ^ sys.argv[1]
# ^ sys.argv[0]
所以你首先检查的代码是否提供了两个参数(不是“至少三个”),然后是第二个(Python是从零开始,所以第一个项目是argv[0]
)是"english"
。
argv
中的第一项始终是脚本名称; see the docs