raw_input功能
摘要: 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:")
input int:abc
>>>type(raw_input_A)
<type 'str'>
输入的123也为字符串 str 类型
3、输入浮点数
1 >>> raw_input_A = raw_input("input a float:")
input a float:1.2
>>>type(raw_input_A)
<type 'str'>
输入1.2为字符串 str 类型
4、输入16进制数
1 >>> raw_input_A = raw_input("input Hex:")
input Hex:0X20
>>>type(raw_input_A)
<type 'str'>
输入0X20为字符串str类型
5、输入八进制数
1 >>> raw_input_A = raw_input("input Oct:")
input Oct:110
>>>type(raw_input_A)
<type 'str'>
输入八进制数为字符串 str 类型
二、input
1、输入整数
1 >>> input_A = input("input int:")
int:123
>>>type(input_A)
<type 'int'>
输入123为整型 int
2、输入浮点数
1 >>> input_A = raw_input("input a float:")
input a float:1.2
>>>type(input_A)
<type 'float'>
3、输入八进制数
1 >>>input_a = input("input H:")
input H:00H3
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 1
00H3
^
SyntaxError: unexpected EOF while parsing
>>>
输入003H报语法错,input无法识别
4、十六进制类似八进制
5、输入字符串
1 >>> input_a = input("input string:")
input string:abc
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 0, in ?
NameError: name 'abc' is not defined
>>>
输入字符串abc, 提示未定义错误
1 >>> input_a = input("input string:")
input string:'abc'
>>> type(input_a)
<type 'str'>
>>>
输入'abc',可以正确识别,为str类型
raw_input 与 input 的区别
这两个函数都可以读取用户的输入,不同的是input()函数要求用户输入有效的表达式,而raw_input()函数将用户输入的任意类型数据都转换为一个字符串。
当输入纯数字时
>>>raw_input返回字符串类型,string
>>> input返回的是数值类型,如int、float
输入字符串表达式时
>>> input() 会计算字符串中的数字表达式,而raw_input()不会
>>> input(3+8)
11
>>> 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()), 效果基本相同。
raw_input功能的更多相关文章
- python 中的input()和raw_input()功能与使用区别
在python中raw_input()和input()都是提示并获取用户输入的函数,然后将用户的输入数据存入变量中.但二者在处理返回数据类型上有差别. input()函数是raw_intput()和e ...
- Python输入函数 raw_input( ) 与 input()
一. raw_input() 在Python中,获取键盘输入的数据的方法是采用 raw_input 函数,那么这个 raw_input 怎么用呢? 注意: raw_input()的小括号中放入的是,提 ...
- 简谈-Python的输入、输出、运算符、数据类型转换
输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中, ...
- Python系列教程(三):输入和输出
1.1 raw_input() 在Python中,获取键盘输入的数据的方法是采用 raw_input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 raw_input 怎么用呢? 看如下示例 ...
- 认识Python和基础知识
一.第一个Python程序 用vim编写,格式: vim hello.py 然后按 i 进入插入模式开始写代码,注意所有的代码都要用英文输入法,先写括号和引号,再在引号里面写内容(为了避免引号.括号不 ...
- python基础-变量运算符(3)
一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...
- Python输入语句
什么是输入 咱们在银行ATM机器前取钱时,肯定需要输入密码,对不? 那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用 ...
- Python基础二(输入与输出)
通常,一个程序都会有输入/输出,这样可以与用户进行交互.用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出给用户想要的结果.Python的输入/输出,我们可以用input进行输入,pr ...
- python-输入
1. python2版本中 咱们在银行ATM机器前取钱时,肯定需要输入密码,对不? 那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入 ...
随机推荐
- Dapper 存储过程、事务等
接上一篇<Dapper 增删改查> 0.存储过程 create proc p_login ), ), ) output as begin if(exists(select * from U ...
- [转] 出现( linker command failed with exit code 1)错误总结
这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...
- 解决运行Robot Framework报‘’ascii’错误
在Python27\Lib\site-packages中新建‘sitecustomize.py’,内容如下: #coding=utf8import sysreload(sys)sys.setdefau ...
- 前端实现Tab切换栏
tab切换,所需的 UI 只有两组元素 - Header 和 Tab,下面介绍几种不同的实现方法和他们的优缺点 本文主要说一些 CSS 的实现方法.最好的方法是 第四种 => label + i ...
- ES6扩展运算符...进行的数组删除
今天写了按照React小书写了Reducer,发现基础真是太重要了,所有关于上层建筑的细节都需要回到下层细节中去寻找,而且现在的基础也由ES3变成了ES6了. const ADD_USER = &qu ...
- Ubuntu下nagios安装(来源官网)
Ubuntu下nagios安装(来源官网) https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/toc.html h ...
- 使用命令行+代理更新Android SDK
在无桌面的Linux上面安装Jenkins,要配置成Andorid 的持续集成环境Jenkins持续集成Android项目,需要在无桌面的Linux(ubuntu,centos)上安装Android ...
- CMD当前代码页修改
python3.x在程序开发中统一的编码是 UTF-8,但是进行交互式编程的时候会经常遇到乱码问题,这是因为Window cmd的默认编码是GBK.与程序采用的 UTF-8 不一致造成的中文及特殊字符 ...
- HDU 5877 Weak Pair DFS + 树状数组 + 其实不用离散化
http://acm.hdu.edu.cn/listproblem.php?vol=49 给定一颗树,然后对于每一个节点,找到它的任何一个祖先u,如果num[u] * num[v] <= k.则 ...
- eclipse链接Hadoop集群时报错Error:Call From xxx/xxx.xxx.xxx.xxx to hostname1:9000 failed on connection exception
今天用eclipse连接Hadoop集群的时候突然给我报了这样一个错误:Error:Call From xxx/xxx.xxx.xxx.xxx to hostname1:9000 failed on ...