文档章节

raw_input 与 input的区别

Lemon_Ts
 Lemon_Ts
发布于 2016/04/26 10:24
字数 506
阅读 6
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。

复制代码

 1 >>> raw_input_A = raw_input("raw_input: ")
2 raw_input: abc
3  >>> input_A = input("Input: ")
4 Input: abc
5
6 Traceback (most recent call last):
7  File "", line 1, in <</span>module>
8    input_A = input("Input: ")
9  File "", line 1, in <</span>module>
10 NameError: name 'abc' is not defined
11  >>> input_A = input("Input: ")
12 Input: "abc"
13  >>>

复制代码

复制代码

1 >>> raw_input_B = raw_input("raw_input: ")
2 raw_input: 123
3  >>> type(raw_input_B)
4  <</span>type 'str'>
5 >>> input_B = input("input: ")
6 input: 123
7 >>> type(input_B)
8 <</span>type 'int'>
9 >>>

复制代码

例子 1 可以看到:这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

例子 2 可以看到:raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。

查看 Built-in Functions ,得知:

input([prompt])

    Equivalent to eval_r(raw_input(prompt)) 

input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval_r() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。

不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

-------

今天参加某公司的笔试的时候,俺使用了 raw_input() 接受整数(返回的是字符串)并再用一行语句返回整型数据。杯具,当时不大确定能用 input() 这个函数!特此记录。


本文转载自:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html

Lemon_Ts
粉丝 0
博文 11
码字总数 1588
作品 0
太原
私信 提问
Python2input和raw_input和区别和Python3input的区别

Python2 input 和raw_input的区别 input 用户交互输入数据字符串的时候需要加双引号 用户输入数据的时候输入的是干什么类型就是什么类型 如,用户输入name则是变量类型 用户输入"name"则是字...

yht_1990
2017/06/22
0
0
python input 与raw_input函数的区别

以前没有深入考虑过raw_input与input函数的区别,所以一直比较困惑,今天测试之后,有了较为深入了解,记录如下 >>> user = rawinput("Enter your name:") Enter your name:scr >>> user 'sc......

liangtee
2012/11/16
194
0
Python input和raw_input的区别

使用input和rawinput都可以读取控制台的输入,但是input和rawinput在处理数字时是有区别的 纯数字输入 当输入为纯数字时 输入字符串为表达式 input会计算在字符串中的数字表达式,而raw_inp...

索隆
2012/04/25
73
0
php://input,$_POST,$HTTP_RAW_POST_DATA区别

我们先来看两个demo 例子:php://input 代码如下 post.php 代码如下 例子:$_post 代码如下 welcome.php 代码如下 再来看$GLOBALS ["HTTP_RAW_POST_DATA"] 通过 HTTP POST 发送的变量不会显示...

Grace_
2017/10/20
17
0
Python--数值类型

Python数值类型 变量 -变量是内存中的一块区域。 变量的命名:变量由字母,数字,下划线组成。 python中地址变量与c语言刚好相反,一条数据包含包含多个标签; 1、Input与raw_input区别 Print ...

無緣
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 浙江台的电话号码倒是记得挺牢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Out On The Streets》 一直不理解北欧人对重金属和死亡摇滚的热情,听完这首歌好像理解了。#今日歌曲推荐# 《Out On The Stre...

小小编辑
今天
6
0
Leetcode PHP题解--D121 21. Merge Two Sorted Lists

D121 21. Merge Two Sorted Lists 题目链接 21. Merge Two Sorted Lists 题目分析 合并两个有序链表。 思路 逐个遍历两个链表,把小的数字塞入数组里。之后再拼起来。 最终代码 <?php/** *...

skys215
今天
5
0
mars-config 动态配置管理

mars-config 码云地址:https://gitee.com/fashionbrot/mars-config 介绍 spring mvc 、springboot 动态配置系统。http 轮训方式 更新 动态配置 软件架构 软件架构说明 后端使用技术 :sprin...

fashionbrot
今天
14
0
女朋友玩吃鸡手游被开挂老哥骗炮,我见义勇为将骗子绳之以法

大家好,我是乔哥。 晚上10点以后下班后我回到自如出租房里面,开始处理公众号粉丝发来的消息,一条一条处理,突然看到了这么几条消息,吸引了我的眼球: 然后我就和这位女粉丝小红(化名)聊...

gzc426
今天
9
0
两款软件

fadetop保护眼睛软件 Snipaste截图软件

伟大源于勇敢的开始
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部