摘要: raw_input()  &  input()

raw_input的功能是方便的从控制台读入数据。

 inputraw_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功能的更多相关文章

  1. python 中的input()和raw_input()功能与使用区别

    在python中raw_input()和input()都是提示并获取用户输入的函数,然后将用户的输入数据存入变量中.但二者在处理返回数据类型上有差别. input()函数是raw_intput()和e ...

  2. Python输入函数 raw_input( ) 与 input()

    一. raw_input() 在Python中,获取键盘输入的数据的方法是采用 raw_input 函数,那么这个 raw_input 怎么用呢? 注意: raw_input()的小括号中放入的是,提 ...

  3. 简谈-Python的输入、输出、运算符、数据类型转换

    输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中, ...

  4. Python系列教程(三):输入和输出

    1.1 raw_input() 在Python中,获取键盘输入的数据的方法是采用 raw_input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 raw_input 怎么用呢? 看如下示例 ...

  5. 认识Python和基础知识

    一.第一个Python程序 用vim编写,格式: vim hello.py 然后按 i 进入插入模式开始写代码,注意所有的代码都要用英文输入法,先写括号和引号,再在引号里面写内容(为了避免引号.括号不 ...

  6. python基础-变量运算符(3)

    一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...

  7. Python输入语句

    什么是输入 咱们在银行ATM机器前取钱时,肯定需要输入密码,对不? 那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用 ...

  8. Python基础二(输入与输出)

    通常,一个程序都会有输入/输出,这样可以与用户进行交互.用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出给用户想要的结果.Python的输入/输出,我们可以用input进行输入,pr ...

  9. python-输入

    1. python2版本中 咱们在银行ATM机器前取钱时,肯定需要输入密码,对不? 那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入 ...

随机推荐

  1. HTML5+JavaScript动画基础 完整版 中文pdf扫描版

    <HTML5+JavaScript动画基础>包括了基础知识.基础动画.高级动画.3D动画和其他技术5大部分,分别介绍了动画的基本概念.动画的JavaScript基础.动画中的三角学.渲染技 ...

  2. 远程桌面连接KVM虚拟机

    问题描述 有些时候,由于网络存在问题,虚拟机无法获取到IP地址,无法使用spice或vnc来连接虚拟机,但是又需要连到虚拟机来排查故障 解决办法 编辑虚拟机配置 设置xml命名空间 <domai ...

  3. 最大子序列和——HDU-1003 Max Sum

    题目大意:给定序列个数n及n个数,求该序列的最大连续子序列的和,要求输出最大连续子序列的和以及子序列的首位位置 解题思路:经典DP,可以定义dp[i]表示以a[i]为结尾的子序列的和的最大值,因而最大 ...

  4. flask-sqlalchemy中 backref lazy的参数实例解释和选择

    官方文档:http://docs.sqlalchemy.org/en/rel_1_0/orm/basic_relationships.html#relationship-patterns 最近在学习到 ...

  5. 2014-11-3 NOIP模拟赛2

    NOIP 2014 水题模拟赛 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 数列 刷漆 排队 英文题目与子目录名 seq paint layout 可执行文件名 seq paint l ...

  6. Fiddler-抓Android和IOS包

    知识:Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备.  同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/ ...

  7. 简谈react中的虚拟DOM

    相信你在看到此篇前也翻阅大量的对DOM的文章讲解和介绍 react中的虚拟DOM 此篇我尽量说人话(大白话),不然想必你在看到别的大神的文章早就懂了. 不说废话了,上干货. 1.首先简单对Html中的 ...

  8. 让你的IDEA倍爽

    使用IDEA开发有 一段时间了,从陌生到熟悉的过程算是很平稳的度过,感谢IntelliJ IDEA交流群(群号244908708)里面的群友对我提供的帮助,感谢群主的github上面提供的资料. 这篇 ...

  9. 设置Input标签Date默认值为当前时间

    需求:想设置Imput标签Date默认值为当前时间,通过JavaScript实现. <html> ...... <body> <input type="date ...

  10. EIGRP-1-EIGRP的基础和演变

    值得一提的是,在2013年,Cisco决定开放EIGRP的定义,并将其发布为IETFInternet草案,即RFC的前身:文档名称为draft-savage-eigrp.从此,基本的EIGRP不再是机 ...