摘要: 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. RFC 2119中几个关键字的翻译

    RFC2119定义了规范文档中,英文要求的关键动词,但中文中还没有明确的词,我的建议如下: requirement类,表示没有例外地遵守或一定出现的情况, MUST.MUST NOT.必须,必须不 S ...

  2. 【msyql_获取时间的前后几天函数date_sub】

    select now()-- 2017-05-16 16:48:02select curdate()  -- 2017-05-16 select curdate() + 1 -- 20170517 s ...

  3. asp.net Page.Controls对象(找到所有服务器控件)

    前台 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="De ...

  4. Unity -- AssetBundle(本地资源加载和加载依赖关系)

    1.本地资源加载 1).建立Editor文件夹 2).建立StreamingAssets文件夹和其Windows的子文件夹 将下方第一个脚本放入Editor 里面 脚本一  资源打包AssetBund ...

  5. Educational Codeforces Round 57D(DP,思维)

    #include<bits/stdc++.h>using namespace std;char s[100007];long long a[100007];long long dp[100 ...

  6. Openstack swift 学习笔记

    Swift 不是文件系统或者实时的数据存储系统,而是对象存储,用于长期存储永久类型的静态数据.这些数据可以检索.调整和必要时进行更新.Swift最适合虚拟机镜像.图片.邮件和存档备份这类数据的存储. ...

  7. 为什么Python如此慢

    Python当前人气暴涨.它在DevOps,数据科学,Web开发和安全领域均有使用. 但是在速度方面没有赢得美誉. 这里有关于Python比较其他语言如,Java, C#, Go, JavaScrip ...

  8. ie-"此更新不适应于此电脑"

    cmd-dos命令 expand –F:* C:\update\Windows6.1-KB2533623-x64.msu C:\update\ dism.exe /online /Add-Packag ...

  9. MySQL库改名、表改名

    数据库中的库或表在开发环境下可能需要改名,关于MySQL的改名步骤如下: 1.备份数据库,备份后就可以安心的去改名了,如果操作错误还可以及时恢复 mysqldump -R -uroot -p 数据库名 ...

  10. Linux之dstat命令

    dstat命令是一个用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具.与sysstat相比,dstat拥有一个彩色的界面,在手 ...