Python术语:学习Python困难方式练习13中“ = argv”左边的内容

发布于 2021-01-29 15:01:00

Zed Shaw的“艰苦学习Python”经常要求您“用英语写出”脚本每一行的功能。我正在努力使用与函数(命令?) argv
相关联的某些东西来做到这一点,因为我不知道该如何命名代码的某些部分。哎呀,我什至不知道该怎么称呼argv —函数?命令吗
变量?我知道这是一个模块。但是回到正轨:

这是练习13中的代码:

from sys import argv

script, first, second, third = argv

print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third

Zed指出“’argv’是“参数变量”。我的问题是, 第三行等号左侧的事物名称什么?

通俗地讲,我的冲动是将单词本身称为“脚本”,“第一个”等变量,但这似乎不正确,因为按照Zed argv的说法是“参数变量”。

我也不认为称它们为“参数”是正确的。我只在命令行参数方面阅读过“ argument”。

“参数”似乎很可能,因为在练习的标题中已提到,但是使用“等号”,“ =”,“ python”,“
argv”,“定义”等组合进行网络搜索不是很有启发性。当您不知道它们的名字时,搜索它们非常困难。

我很清楚该脚本中发生了什么,只是不清楚其中一部分的名称。我很确定当我回答后,我将拍打我的额头。

关注者
0
被浏览
69
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    左边的东西"="变量 ,它们从右边的变量获取

    鉴于:

    script, first, second, third = argv
    

    argv是一个字符串 列表 ,在这种情况下,包含4个项目。这些字符串被“解压”并分配给左侧的四个变量=

    argv 它的值是从命令行调用Python程序时的值,如下所示:

    test.py this is sure cool
    

    在这种情况下argv将包含 ['test.py', 'this', 'is', 'sure', 'cool']。命令后的这些字符串称为“
    命令行参数
    ”(请参见本教程)和脚本名称,所有参数都存储在中argv。这是一种在启动脚本时向脚本发送信息的方法。

    在这种情况下,变量将获得以下值:

      script is set to  "this.py"  # the string is in argv[0]
      first to "is"     # argv[1]
      second to "sure"  # argv[2]
    

      third to "cool"   # argv[3]
    

    所以:

      script, first, second, third = argv
    

    实际上等于:

      script = argv[0]
      first = argv[1]
      second = argv[2]
      third = argv[3]
    

    只有Python可以让您一口气完成这项任务。

    请注意,您可以使用适当的索引值以任何顺序提取命令行参数。

    该机制用于将信息传达给Python脚本。您可以想象运行一个需要输入文件和输出文件的程序。您可以在命令行中提供它们,而不是在脚本中对其进行硬编码。例如,

     computeData.py input.txt result.txt
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看