Learn Python The Hard Way (习题13)

习题 13: 参数、解包、变量

from sys import argv
# argv 是所谓的“参数变量(argument variable)
script, first, second, third = argv     # 将  argv 解包(unpack)
print("The script is called: ", script)
print("Your first variable is:", first)
print("Your second variable is: ", second)
print("Your third variable is: ", third)

运行结果:

runfile('C:/Users/abcd/.spyder-py3/temp.py', wdir='C:/Users/abcd/.spyder-py3')
Traceback (most recent call last):

  File "C:\Users\abcd\.spyder-py3\temp.py", line 3, in <module>
    script, first, second, third = argv     # 将  argv 解包(unpack)

ValueError: not enough values to unpack (expected 4, got 1)

百度查看了相关的解决方案,打开终端,如图操作可以看到正确输出答案:
1.新建一个文件,文件的名称为temp.py
2.将下面的代码复制到文件中

from sys import argv
# argv 是所谓的“参数变量(argument variable)
script, first, second, third = argv     # 将  argv 解包(unpack)
print("The script is called: ", script)
print("Your first variable is:", first)
print("Your second variable is: ", second)
print("Your third variable is: ", third)

3.找到temp.py文件所在的文件夹,在该文件夹下空白处按住 Shift+鼠标右键,找到在此处打开Powershell窗口
4.在窗口内输入 python .\temp.py + 参数1 +参数2 +参数3显示结果如下:

此例中输入:python .\temp.py first 2nd 3rd
显示结果如图:

PS C:\Users\abcd\.spyder-py3> python .\temp.py first 2nd 3rd
The script is called:  .\temp.py
Your first variable is: first
Your second variable is:  2nd
Your third variable is:  3rd
PS C:\Users\abcd\.spyder-py3>

加分习题

  1. 给你的脚本三个以下的参数。看看会得到什么错误信息。试着解释一下。
  2. 再写两个脚本,其中一个接受更少的参数,另一个接受更多的参数,在参数解包时给它们取一些有意义的变量名。
  3. 将 input 和 argv 一起使用,让你的脚本从用户手上得到更多的输入。
  4. 记住“模组(modules)”为你提供额外功能。多读几遍把这个词记住,因为我们后面还会用到它。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值