raw_input() 与 input()的区别
raw_input和input两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。下面举两个例子,来说明两者
raw_input和input两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。下面举两个例子,来说明两者使用上的不同。
例子1
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2Type "help", "copyright", "credits"or "license"formoreinformation.>>> >>> raw_input_A = raw_input("raw_input: ")raw_input: PythonTab.com>>> print raw_input_A PythonTab.com>>> input_A = input("Input: ")Input: PythonTab.comTraceback (most recent call last):  File "<stdin>", line 1, in<module>  File "<string>", line 1, in<module>NameError: name 'PythonTab'is not defined>>> >>> input_A = input("Input: ")Input: "PythonTab.com">>> print input_APythonTab.com>>> | 
例子2
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2Type "help", "copyright", "credits"or "license"formoreinformation.>>> >>> raw_input_B = raw_input("raw_input: ")raw_input: 2015>>> type(raw_input_B)<type'str'>>>> input_B = input("input: ")input: 2015>>> type(input_B)<type'int'>>>> | 
例子 1 可以看到:这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
例子 2 可以看到:raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。
查看python手册,得知:
input([prompt])
Equivalent to eval(raw_input(prompt))
input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。
不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。
raw_input() 与 input()的区别的更多相关文章
- raw_input和input的区别
		raw_input的返回类型是String类型 input的返回类型是int类型 >>> rawinput = raw_input("raw_input:") r ... 
- raw_input 和input的区别
		input它会根据用户输入变换相应的类型, raw_input则是不管用户输入什么类型的都会转变成字符型. 
- python中从键盘输入内容的方法raw_input()和input()的区别
		raw_input()输出结果都是字符串 Input()输入什么内容,输出就是什么内容 
- raw_input与input的区别
		1. 版本差异 raw_input——>python2版本 input——>python3版本 2. 输入格式差异 就是raw_input()随便输都是字符串,而input()必须按照Py ... 
- raw_input与input
		raw_input 不管用户输入的是什么,最后打印的类型都会是str字符串类型 input 会根据用户的输入变换成相应的类型,但是需要注意的是我们用户在输入字符或者字符串的时候,需要给他们加上双引号, ... 
- raw_input和input
		昨天在OJ上做CTF的题目,发现有道python的题目很有意思,让我知道了raw_input和input的区别,并且能干一些别的事情. 官方文档上说,input()相当于eval(raw_input( ... 
- python 中的input()和raw_input()功能与使用区别
		在python中raw_input()和input()都是提示并获取用户输入的函数,然后将用户的输入数据存入变量中.但二者在处理返回数据类型上有差别. input()函数是raw_intput()和e ... 
- Python raw_input和input总结 在版本2和版本3中的区别
		Python 2.3.4 (#1, Feb 2 2005, 11:44:13) [GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2 Type &q ... 
- Python 内置函数raw_input()和input()用法和区别
		我们知道python接受输入的raw_input()和input() ,在python3 输入raw_input() 去掉乐,只要用input() 输入,input 可以接收一个Python表达式作为 ... 
随机推荐
- iOS中JavaScript和OC交互
			转载自:http://www.devzeng.com/blog/ios-uiwebview-interaction-with-javascript.html 还可参考的文章:http://blog.c ... 
- JS判断终端(Android IOS)
			function getMobileOperatingSystem() { var userAgent = navigator.userAgent || navigator.vendor || win ... 
- WebDriverWait 中 and, or, not用法
			1. And 用法 wait.until(ExpectedConditions.and( ExpectedConditions.visibilityOfAllElementsLocatedBy(By. ... 
- 反射给对象赋值遇到的问题——类型转换[转http://blog.csdn.net/xiaohan2826/article/details/8536074]
			发布时间:2012-10-25 10:49浏览次数:225 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致. 创建对象实例的 ... 
- CSS浮动元素的水平居中
			方法一: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ... 
- Connect mysql on Linux from Windows
			ON LINUX: 1 sudo apt-get install mysql-server 2 sudo apt-get install python-dev 3 sudo apt-get insta ... 
- 分布式系统间通信之RPC的基本概念(六)
			RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象 ... 
- ComponentOne的C1Chart做饼状图怎么显示其百分比
			问题:ComponentOne的C1Chart做饼状图怎么显示每部分的百分比 描述: 我用C1Chart做饼状图的时候,不知道怎么显示其百分比在对应的区域上,求解. 目前做的效果(附加代码所生成的饼状 ... 
- Struts 2 标签
			注:要使用Strust 2标签需<%@ taglib prefix="s" uri="/struts-tags" %> 表单标签: .form标签 ... 
- linux安装 Android Studio详细教程,支持性较差,需要安装最新底层库内核的linux
			安装 Android Studio详细教程 libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jdk1.8.0_25 android-st ... 
