在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
argv和raw_input()有什么区别?它们的区别在于要求用户输入的位置不同。如果你想让用户在命令行输入你的参数,你应该使用argv .,如果你希望用户在脚本执行的过程中输入参数,那就就要用到raw_input() 。下面我们写一个可以接收参数的脚本,来具体认识一下argv和raw_input()。

from sys import argv
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
第一行代码中,我们用到一个 import 语句,这是将Python的功能模块加入你自己脚本的方法。Python 不会一下子将它所有的功能提供给你,而是让你需要什么就调用什么。这样可以让你的程序更加精简,而后面的程序员看到你的代码的时候,这些“import”语句可以作为提示,让他们明白你的代码用到了哪些功能。
argv 就是所谓的“参数变量”,它是一个非常标准的编程术语。在其他的编程语言里你也可以看到它。这个变量包含了你传递给 Python 的参数。
代码的第3行将 argv 进行“解包(unpack)”,与其将所有参数放到同一个变量下面,我们将每个参数赋予一个变量名: script, first, second, 以及 third。这也许看上去有些奇怪,不过”解包”可能是最好的描述方式了。它的含义很简单:“把argv中的东西解包,将所有的参数依次赋予左边的变量名”。
前面使用import让程序实现更多的功能,我们把import称为功能,它们的真正名称其实是模块。像下面的示例一样将你的脚本运行起来:
$ python ex13.py first 2nd 3rd
The script is called: ex13.py
Your first variable is: first
Your second variable is: 2nd
Your third variable is: 3rd
如果你每次输入的参数不一样,那你看到的输出结果也会略有不同:
$ python ex13.py stuff things that
The script is called: ex13.py
Your first variable is: stuff
Your second variable is: things
Your third variable is: that
$$
python ex13.py apple orange grapefruit
The script is called: ex13.py
Your first variable is: apple
Your second variable is: orange
Your third variable is: grapefruit
你可以将 first , 2nd , 和 3rd 替换成任意你喜欢的3个参数。如果你没有运行对,你可能会看到的错误信息:
$ python ex13.py first 2nd
Traceback (most recent call last):
File "ex13.py", line 3, in <module>
script, first, second, third = argv
ValueError: need more than 3 values to unpack
argv和raw_input()的区别就讲到这里了,大家都弄明白了吗?如果还有关于Python方面的学习疑问,欢迎大家来博学谷官网报名Python在线课程~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学Python好还是学Java好?
学Python好,还是学Java好?作为初入IT行业的小伙伴,也许会选择过程中的迷茫。毕竟Java作为老牌的编程语言,拥有广阔的市场,而Python作为近两年火爆起来的语言,在诸多领域均有长足的发展。那到底选择哪种语言好呢?
16587
2019-08-22 14:08:02
学Python的理由有哪些?这四大理由足够了
学Python的理由有哪些?可能有人会说Python是一种计算机语言,具有简洁性、易读性、及可扩展性,相对于其他语言学起来会更加容易,目前应用也非常广泛等等。其实总结起来,学Python的理由不外乎四点,即丰富免费的模块库,新手入门上手快的学习优势,还有广泛的应用场景以及国家的重视和支持。因此这四大理由足够掀起全面学习Python的热潮。
7503
2020-04-15 11:35:41
Python的特性与搭建环境
Python是用 C语言开发的,但 Python不再具有 C中的指针这样的复杂数据类型。Python具有强大的 OOP特性,并且简化了 OOP的实现。该方法消除了面向对象的元素,如保护类型、抽象类和接口。
6054
2020-07-06 14:37:17
多任务版静态Web服务器程序怎么写?
多任务版静态Web服务器程序怎么写?在Web服务器不支持多用户同时访问时,只能一个一个的处理客户端的请求,而多任务版的web服务器可以同时处理多个客户端的请求,使用多线程比进程更加节省内存资源。
5002
2021-12-22 09:54:44
常用的聚合函数有哪些?怎么用?
聚合函数怎么用?聚合函数对一组值执行计算并返回单一的值,用于统计和计算分组数据。可以应用于查询语句的SELECT中或者HAVING子句中。
10457
2022-01-17 16:13:59
