习题13 参数解包和变量
Posted tel13526327247
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了习题13 参数解包和变量相关的知识,希望对你有一定的参考价值。
1新建一个文件,文件的名称为ex13.py
2.将下面的代码复制到文件中
from sys import argv #import, python引用脚本的方法。argv即参数变量。 #read the WYSS section for how to run this. #阅读WYSS部分,了解如何运行此操作。 script,first,second,third = argv #argv解包,与其将所有参数放到同一个变量下面,不如将其赋值给四个变量,也许看上去很奇怪,不过“解包”可能是最好的描述方式。它的含义很简单:“把argv中的东西取出,解包,将所有的参数依次赋值给左边的这些变量。” print ("This script is called:",script) #打印输出 #这个脚本叫做: print ("Your first variable is:",first) #打印输出 #你的第一个变量是: print ("Your second variable is:",second) #打印输出 #你的第二个变量是: print ("Your third variable is:",third) #打印输出 #你的第三个变量是:
3.找到ex13.py的文件,在该文件夹下空白处按住 Shift+鼠标右键,找到在此处打开Powershell窗口
4.在窗口内输入 python .ex13.py + 参数1 +参数2 +参数3显示结果如下:
1.输入python .ex13.py first 2nd 3rd 显示结果如图
2.输入python .ex13.py stuff things that 显示结果如图
5.巩固练习
1.给你的脚本至少3个参数,看看会得到什么出错消息。试着解释一下。
2.在写两个脚本,其中一个直接接收更少的参数,另一个接收更多的参数在参数解包时给它们取一下有意义的变量名
3.将input和argv一起使用,让脚本从用户那里得到更多的输入。不要想多了,只是用argv得到一些东西,用input从用户那里得到另一些东西。
4.记住,“模块”为你提供额外的特性。多读几遍,把“模块”这个词记住,因为后面会用到它。
6.常见问题解答
1.运行程序时我遇到了ValueError:not enough values to unpack。
记住,有一项很重要的技能是注重细节。如果仔细阅读并且完整重复了“显示结果”部分的命令参数,你就不会看到这个出错信息。
2.argv和input()有什么不同之处?
不同点在于用户输入的时机。如果参数是在用户执行命令时要输入,那就用argv,如果是在脚本运行过程中需要用户输入,那么要用input()
3.命令行参数是字符串吗?
是的,就算你在命令行输入数字,你也需要用int()把它先转换成整数,像int(input())这样。
4.命令行改怎么使用?
这个你应该已经学会了。
5.argv和input()怎么不能结合起来?
别想太多。在脚本结尾加两行input()随便读取点用户输入,然后打印出来就行了,然后再慢慢在同一个脚本中用各种方法摆弄这两样东西。
6.为什么input(‘? ‘) = x 不能用?
因为你把它理解反了。照我写的就没有问题。
以上是关于习题13 参数解包和变量的主要内容,如果未能解决你的问题,请参考以下文章