参数、解包&变量



第一行的 import 语句:将python功能引入脚本
agrv = argument variable,即 参数变量;这个变量包含了你传递给python的参数
第 3 行将 argv “解包(unpack)”,与其将所有参数放到同一个变量下面,我们将每个参数赋予一个变量名: script, first, second, 以及 third。这也许看上去有些奇怪, 不过”解包”可能是最好的描述方式了。它的含义很简单:“把 argv 中的东西解包,将所有的参数依次赋予左边的变量名”。
把这些导入(import)进来的功能称作模组。你将看到类似这样的说法:“你需要把 sys 模组 import 进来。”也有人将它们称作“库(libraries)”,不过我们还是叫它们模组吧。
用不同参数运行出来结果也不一样,不需要改脚本。
加分练习
1.

exl13.py 脚本中给了3个变量,所以当运行时只输入了两个参数时,错误。

多了少了都不行
2.脚本接受更少的参数


3.raw_input 和 argv 一起运用




我再次傻了,这两要怎么一起用嘛,写了串结果是ERROR,下滑PDF,常见问题作者曰:不要想太多了,在脚本最后头写两行raw_input就成。
因为,raw_input和argv的差别就在于 用户输入的时机 ;如果参数是在用户执行命令时就要输入,那就是 argv,如果是在脚本运行过程中需要用户输入,那就使用 raw_input()
至于我为啥放了两套图,因为我把输入输出的内容搞混了
网友评论