函数:raw_input()和input()

注意:在python3.x中,已经删除raw_input(),取而代之的是input(),当然这仅仅是重命名,用法还是一样。因此在这里介绍的是python2.x中的raw_input()和input(),在python3.x中只要按raw_input()的使用方式就行

1:作用:读取控制台的输入与用户实现交互

2:语法
raw_input([prompt]) 
input([prompt])

3:参数
prompt:如果存在此参数,则会直接输出到屏幕上,不会再往下另起一行

4:两者关系:
input()本质上是使用raw_input()来实现的,即调用完raw_input()之后再调用eval()函数,调用如下:
def input(prompt):
    return (eval(raw_input(prompt)))

5:两者相同点:
都能接受字符串、数字以及表达式作为输入。

6:两者差别:
6.1、当输入为字符串时:
raw_input(): 读取控制台的输入,同时返回字符串类型
input():    读取控制台的输入,但输入时必须使用引号括起来,否则会报错

6.2、当输入为纯数字时:
raw_input(): 读取控制台的输入,同时返回字符串类型,当作字符串处理
input():    读取控制台的输入,返回输入的数值类型(int, float)

6.3、当输入为字符串表达式时:
raw_input(): 读取控制台的输入,但不会对输入的数字进行运算,直接返回字符串类型,当作字符串处理
input():    读取控制台的输入,对合法的 python 数字表达式进行运算,返回运算后的结果

6.4、输入的为特殊字符时
比如'\t','\n'等
raw_input(): 读取控制台的输入,返回字符串类型,和输入一样
input():    读取控制台的输入,但输入时必须使用引号括起来,返回特殊符号所代表的内容

注:无特殊要求建议使用 raw_input() 来与用户交互

7:实例:
7.1、输入为字符串的时:

>>> a1 = raw_input("raw_input_str: ")
raw_input_str: hello
>>> print a1,type(a1)
hello <type 'str'>

>>> a2 = input("input_str: ")
input_str: hello
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a2 = input("input: ")
  File "<string>", line 1, in <module>
NameError: name 'hello' is not defined

>>> a2 = input("input_str: ")
input_str: 'hello'
>>> print a2,type(a2)
hello <type 'str'>

7.3、输入为字符串表达式时:

>>> c1 = raw_input("raw_input_exp: ")
raw_input_exp: 3 + 3
>>> print c1,type(c1)
3 + 3 <type 'str'>

>>> c2 = input("input_exp: ")
input_exp: 3 + 3
>>> print c2,type(c2)
6 <type 'int'>

7.4、输入的为特殊字符时:

>>> d1 = raw_input("raw_input_sp: ")
raw_input_sp: \t
>>> print d1,type(d1)
\t <type 'str'>

>>> d2 = input("input_sp: ")
input_sp: \t
Traceback (most recent call last):
  File "<pyshell#57>", line 1, in <module>
    d2 = input("input_sp: ")
  File "<string>", line 1
    \t
    ^
SyntaxError: unexpected character after line continuation character

>>> d2 = input("input_sp: ")
input_sp: '\t'
>>> print d2,type(d2)
 <type 'str'>

Python自用笔记的更多相关文章

  1. Web Scraping with Python读书笔记及思考

    Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...

  2. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  3. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  4. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  5. python datetime笔记

    python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...

  6. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  7. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  8. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  9. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

随机推荐

  1. bootstrap简单使用布局、栅格系统、modal标签页等常用组件入门

    <!DOCTYPE html> <html> <head> <title>bootstrap</title> <!-- 引入boots ...

  2. 压缩JS的eclipse插件

    主页:http://jscompressor.oncereply.me/ Update site: http://jscompressor.oncereply.me/update/

  3. python学习第天14天。

    模块 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码( ...

  4. PyJWT 使用

    最近要用 Falsk 开发一个大点的后端,为了安全考虑,弃用传统的Cookie验证.转用JWT. 其实 Falsk 有一个 Falsk-JWT 但是我觉得封装的太高,还是喜欢通用的 PyJWT . J ...

  5. 彻底搞透OAuth 2.0

    OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R ...

  6. Codeforces 1045G AI robots [CDQ分治]

    洛谷 Codeforces 简单的CDQ分治题. 由于对话要求互相看见,无法简单地用树套树切掉,考虑CDQ分治. 按视野从大到小排序,这样只要右边能看见左边就可以保证互相看见. 发现\(K\)固定,那 ...

  7. Android&Java面试题大全—金九银十面试必备

    声明本文由作者:Man不经心授权转载,转载请联系原文作者原文链接:https://www.jianshu.com/p/375ad14096b3, 类加载过程 Java 中类加载分为 3 个步骤:加载. ...

  8. ORACLE in与exists语句的区别

    select * from A where id in(select id from B) 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与 ...

  9. Confluence 6 附件存储选项

    在早期的 Confluence 版本中,我们允许存储附件到 WebDav 或者 Confluence 数据库中.针对新的 Confluence 安装,我们不再支持这 2 种存储了. 本地文件系统 在默 ...

  10. LeetCode(89):格雷编码

    Medium! 题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印格雷码序列.格雷码序列必须以 0 开头. 例如,给定 ...