练习41:学习讲面向对象

我正在练习41,说实话我非常困惑.我不知道是不是因为我已经看了几个小时该死的东西,如果我的大脑被炸了,或者是什么?

我在之前的章节中已经过了下面的内容,但由于某些原因,这并不是用英语翻译给我的.

PHRASE_FIRST = False 
if len(sys.argv) == 2 and sys.argv[1] == "english":
    PHRASE_FIRST = True

我认为它的说法是,如果“phrase_first”为false,请阅读列表,如果“phrase_first”为true,则读取英文列表?我不知道?我认为这是中线,真的让我搞砸了.

我需要英语分解才能让我回到正轨.

最佳答案 不,代码将PHRASE_FIRST设置为False.

然后对sys.argv list进行测试;如果该列表中有2个值,并且第二个值等于字符串“english”,则PHRASE_FIRST将反弹为True.

sys.argv是命令行参数列表; sys.argv [0]是脚本的名称,该列表中的任何额外元素都是在命令行中传入的字符串:

python script.py foo bar

['script.py', 'foo', 'bar']

在sys.argv中.在这种情况下,如果您运行脚本:

python script.py english

然后PHRASE_FIRST设置为True,否则保持为False.

点赞