python中参数、解包和变量

这是学习python的第10课,主要学习了另外一种将变量传递给脚本的方法,也就是用  argv  来传递变量。

from sys import argv
#read the WYSS section for how to run this
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)

运行结果:

 python中参数、解包和变量_第1张图片

 

下面我来好好分析一下这段代码:

from sys import argv

sys 为内置模块,提供了许多函数和变量来处理 Python 运行时环境的不同部分。是固定的用法,不能自己随便写名字代替它,这行的作用就是要把用到的东西(比如需要什么特定函数什么之类的)从这个东西存放的模块中引入程序中。

就好比C语言中的strlen()函数、strcat()函数、strcmp()函数等等,需要写入头文件#include预处理命令。经过预处理后,这几个函数才能用。

argv就是列表(参数变量),是编程术语。在解释器启动后, argv 列表包含了传递给脚本的所有参数, 第一个元素为脚本自身的名称。

 

script,  first,  second,  third  =  argv

这句代码是将  argv  解包  (unpack),它的含义是把  argv  中的东西取出,解包,把所有的参数依次赋值给左边的这些变量。

 

易错之处:

在命令窗口运行时,要输入  python  ex13.py  1  2  3

脚本的名称放在第一个,后面参数依次是  1,2,3,要注意运行脚本时输入的参数要与定义时的参数个数要相同,否则运行时就会报错。 

 

常见问题:

argv  和  input()  有什么不同

不同点在于用户输入的时机。如果参数是在用户执行命令时就要输入,那就用  argv,如果是在脚本运行过程中需要用户输入,那就用  input()。

 

你可能感兴趣的:(python)