习题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 参数解包和变量的主要内容,如果未能解决你的问题,请参考以下文章

笨办法学 Python(第三版)习题 13: 参数解包变量

练习13--参数,解包,变量

笨办法13参数解包变量_草稿

使用apktool解包和打包apk

笨办法学Python(十三)

解包、扩展解包和嵌套扩展解包