Python中raw_input() & input() 的功能对比
raw_input的功能是方便的从控制台读入数据。
input与raw_input都是Python的内建函数,实现与用户的交互,但是功能不同。
一、raw_input
下面介绍让raw_input的几种功能。
1、输入字符串
1>>> raw_input_A = raw_input("raw_input:")
2 raw_input:abc
3>>>type(raw_input_A)
4 <type 'str'>
上面输入的abc为字符串str类型
2、输入整数
1 >>> raw_input_A = raw_input("input int:")
2 input int:abc
3 >>>type(raw_input_A)
4 <type 'str'>
输入的123也为字符串 str 类型
3、输入浮点数
1 >>> raw_input_A = raw_input("input a float:")
2 input a float:1.2
3 >>>type(raw_input_A)
4 <type 'str'>
输入1.2为字符串 str 类型
4、输入16进制数
1 >>> raw_input_A = raw_input("input Hex:")
2 input Hex:0X20
3 >>>type(raw_input_A)
4 <type 'str'>
输入0X20为字符串str类型
5、输入八进制数
1 >>> raw_input_A = raw_input("input Oct:")
2 input Oct:110
3 >>>type(raw_input_A)
4 <type 'str'>
输入八进制数为字符串 str 类型
二、input
1、输入整数
1 >>> input_A = input("input int:")
2 int:123
3 >>>type(input_A)
4 <type 'int'>
输入123为整型 int
2、输入浮点数
1 >>> input_A = raw_input("input a float:")
2 input a float:1.2
3 >>>type(input_A)
4 <type 'float'>
3、输入八进制数

1 >>>input_a = input("input H:")
2 input H:00H3
3 Traceback (most recent call last):
4 File "<stdin>", line 1, in ?
5 File "<string>", line 1
6 00H3
7 ^
8 SyntaxError: unexpected EOF while parsing
9 >>>

输入003H报语法错,input无法识别
4、十六进制类似八进制
5、输入字符串

1 >>> input_a = input("input string:")
2 input string:abc
3 Traceback (most recent call last):
4 File "<stdin>", line 1, in ?
5 File "<string>", line 0, in ?
6 NameError: name 'abc' is not defined
7 >>>

输入字符串abc, 提示未定义错误

1 >>> input_a = input("input string:")
2 input string:'abc'
3 >>> type(input_a)
4 <type 'str'>
5 >>>

输入'abc',可以正确识别,为str类型
raw_input 与 input 的区别
这两个函数都可以读取用户的输入,不同的是input()函数要求用户输入有效的表达式,而raw_input()函数将用户输入的任意类型数据都转换为一个字符串。
当输入纯数字时
>>>raw_input返回字符串类型,string
>>> input返回的是数值类型,如int、float
输入字符串表达式时
>>> input() 会计算字符串中的数字表达式,而raw_input()不会
1 >>> input(3+8)
2 11
3 >>> raw_input(3+8)
4 11
5 ''
Python input的实现
查看Built-in-functions可得知,input是由 raw_input实现的:
input
([prompt])- Equivalent to
eval(raw_input(prompt))
. - input()本质上是由raw_input()来实现,调用raw_input()后再调用eval()函数,所有,可以将表达式作为input()的参数,且会计算表达式的值并返回。
- built-in-function中还说:
- Consider using the
raw_input()
function for general input from users. - 除了特殊需要,一般情况下建议使用raw_input()函数。
- 从 raw_input() 到 input()
- Python 2.X
- 在2.x版本中:
- raw_input() 会从标准输入(sys.stdin)读取输入值并返回一个字符串,且尾部换行符从末尾移除。
- input()不同,需要输入有效的表达式,如3+8,'abc'。
- Python 3
- 在Python 3中,将raw_input()重命名为 input(),这样一来,无需导入也可从标准输入获得数据。如需要保留2.X版本的 input() 功能, 可以使用 eval_r(input()), 效果基本相同。
Python中raw_input() & input() 的功能对比的更多相关文章
- python 中的input()和raw_input()功能与使用区别
在python中raw_input()和input()都是提示并获取用户输入的函数,然后将用户的输入数据存入变量中.但二者在处理返回数据类型上有差别. input()函数是raw_intput()和e ...
- python 中的input
渣渣之路. 一. 在python编程初学者指南中的第六章.使用参数和返回值的例子中: # -*- coding: utf-8 -*- def display(message): print messa ...
- Python中的input你真会吗?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:一米阳光里的晴天娃娃 python中的input()方法是在控制台可 ...
- python中raw_input() 与 input()
参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html 在python中如何接收一个输入的字符串. 举个例子: ...
- python中的input,print
此用例在python3.3.5中测试通过: 输入:在python中输入是使用input,下面示例代码表示把输入的值存入变量s中,并输入s 在这里提醒一下:使用input获取的值都是string类型
- python中简化的验证码功能
验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能. import random def veri_c ...
- python中pyperclip库的功能
python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...
- python中raw_input()与input()
raw_input([prompt]) input([prompt]) # prompt:如果参数存在,直接输出到屏幕上,不会再另起一行 raw_input 如其字面意思一样,返回输入字符的字符串形式 ...
- Python中str字符串的功能介绍
Str字符串的功能介绍 1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + st ...
随机推荐
- C++解析(15):二阶构造模式
0.目录 1.构造函数与半成品对象 2.二阶构造 3.小结 1.构造函数与半成品对象 关于构造函数: 类的构造函数用于对象的初始化 构造函数与类同名并且没有返回值 构造函数在对象定义时自动被调用 问题 ...
- Remember the Word UVALive - 3942(dp+trie)
题意: 给S个不同的单词和一个长字符串 问将其分解为若干个单词有多少种方法(单词可重复使用) 解析: dp[i]表示在这个字符串中以某个位置i为起点的 的一段子字符串 则这个子字符串若存在某个前缀恰好 ...
- 【转】实现虚拟机VMware上linux与windows互相复制与粘贴
1.点击虚拟机-->安装vm tool 2.完成后在系统桌面会出现一个tar文件,解压到tmp目录 下 3.终端cd到该文件夹下,执行./vmware-install.pl 一路回车到底.4.重 ...
- 【BZOJ3563/BZOJ3569】DZY Loves Chinese I/II(随机化,线性基)
[BZOJ3563/BZOJ3569]DZY Loves Chinese I/II(随机化,线性基) 题面 搞笑版本 正经版本 题面请自行观赏 注意细节. 题解 搞笑版本真的是用来搞笑的 所以我们来讲 ...
- Unity3D手游开发日记(2) - 技能系统架构设计
我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10 ...
- bzoj2296: 【POJ Challenge】随机种子(思维题/水题)
有点类似CF某场div2T1... 前面接上1234567890000000,后面加上x+(1234567890000000%x)就可以保证是x的倍数了 #include<iostream> ...
- 《JavaScript高级程序设计(第三版)》-2
变量 ECMAScript变量是松散类型的,即可以保存任何类型的数据. 初始化变量不会把它标记类型,初始化的过程只是给变量付一个值,因此可以在修改变量的同时修改值的类型.但并不推荐这样做. var m ...
- 洛谷P1029 最大公约数和最小公倍数问题
题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为 ...
- linux jq命令小结
http://note.youdao.com/noteshare?id=0d84ff04edcaa0be512eb0c1e5c41f47
- STL源码分析-traits
http://note.youdao.com/noteshare?id=b5fd9f936cd133af3790a8b0e9c35b8a