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:")
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() 的功能对比的更多相关文章

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

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

  2. python 中的input

    渣渣之路. 一. 在python编程初学者指南中的第六章.使用参数和返回值的例子中: # -*- coding: utf-8 -*- def display(message): print messa ...

  3. Python中的input你真会吗?

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:一米阳光里的晴天娃娃   python中的input()方法是在控制台可 ...

  4. python中raw_input() 与 input()

    参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html 在python中如何接收一个输入的字符串. 举个例子: ...

  5. python中的input,print

    此用例在python3.3.5中测试通过: 输入:在python中输入是使用input,下面示例代码表示把输入的值存入变量s中,并输入s 在这里提醒一下:使用input获取的值都是string类型

  6. python中简化的验证码功能

    验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能. import random def veri_c ...

  7. python中pyperclip库的功能

    python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...

  8. python中raw_input()与input()

    raw_input([prompt]) input([prompt]) # prompt:如果参数存在,直接输出到屏幕上,不会再另起一行 raw_input 如其字面意思一样,返回输入字符的字符串形式 ...

  9. Python中str字符串的功能介绍

    Str字符串的功能介绍 1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + st ...

随机推荐

  1. BZOJ4915 简单的数字题

    不妨设a1<a2<a3<a4.显然第一问的答案是4,满足a1+a4=a2+a3,a1+a2|a3+a4,a1+a3|a2+a4.容易发现将其同时扩大k倍是仍然满足条件的,于是考虑gc ...

  2. 51nod 1532 带可选字符的多字符串匹配(位运算)

    题意: 有一个文本串,它的长度为m (1 <= m <= 2000000),现在想找出其中所有的符合特定模式的子串位置.符合特定模式是指,该子串的长度为n (1 <= n <= ...

  3. Omeed 线段树

    目录 题面 题解 代码 题面 2.12 - - - 题解 大概还是挺妙的? 首先基础分和连击分互不干扰,所以可以分开统计. 基础分的统计比较简单,等于: \[A \sum_{i = l}^{r} p_ ...

  4. HiHoCoder1513:小Hi的烦恼——题解

    https://hihocoder.com/problemset/problem/1513 小Hi从小的一大兴趣爱好就是学习,但是他发现尽管他认真学习,依旧有学神考的比他好. 小Hi在高中期间参加了市 ...

  5. linux安全第二周学习总结

    一.实验过程 cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd mykernel 您可以看到qemu窗口输出的内容的 ...

  6. 基于 Quartz.NET 实现可中断的任务

    基于 Quartz.NET 实现可中断的任务 Quartz.NET 是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET 允许开发 ...

  7. django2.0 uwsgi nginx

    [TOC]# 1.安装pip```sudo apt-get updatesudo apt-get install python-pip```# 2.使用pip 安装virtualenv 和 virtu ...

  8. Codeforces Round #408 (Div. 2) A B C 模拟 模拟 set

    A. Buying A House time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  9. python安装包下载

    加入python官网一次按照下图点击: 这个exe文件就下好了,然后再安装一下即可.

  10. 1.4 Matplotlib:绘图

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...