python2 与 pyhton3的输入语句写法小结


Posted in Python onSeptember 10, 2018

什么是输入

咱们在银行ATM机器前取钱时,肯定需要输入密码,对不?

那么怎样才能让程序知道咱们刚刚输入的是什么呢??

大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用一个变量来保存,是不是很好理解啊

1、python2的输入语句

在python2中有两种常见的输入语句,input()raw_input()

(1)input()函数

可以接收不同类型的参数,而且返回的是输入的类型。如,当你输入int类型数值,那么返回就是int型;其中字符型需要用单引号或双引号,否则,报错。

a.数值型输入

>>> a = input()
>>> type(a)
<type 'int'>
>>> a
>>> a = input()
1.23
>>> type(a)
<type 'float'>
>>> a
1.23

b.字符类型

如果输入的字符不加引号,就会报错

>>> r = input()
hello

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

正确的字符输入

>>> r = input()
'hello'
>>> r
'hello'
>>> r = input()
"hello"
>>> r
'hello'

当然,可以对输入的字符加以说明

>>> name = input('please input name:')
please input name:'Tom'
>>> print 'Your name : ',name
Your name : Tom

(2)raw_input()

函数raw_input()是把输入的数据全部看做字符类型。输入字符类型时,不需要加引号,否则,加的引号也会被看做字符。

>>> a = raw_input()
>>> type(a)
<type 'str'>
>>> a
'1'
>>> a = raw_input()
'hello'
>>> type(a)
<type 'str'>
>>> a
"'hello'"

如果想要int类型数值时,可以通过调用相关函数转化。

>>> a = int(raw_input())
>>> type(a)
<type 'int'>
>>> a
>>> a = float(raw_input())
1.23
>>> type(a)
<type 'float'>
>>> a
1.23

在同一行中输入多个数值,可以有多种方式,这里给出调用map() 函数的转换方法。map使用方法请参考python-map的用法

>>> a, b = map(int, raw_input().split())
20
>>> a
>>> b
>>> l = list(map(int, raw_input().split()))
2 3 4
>>> l
[1, 2, 3, 4]

(3)input() 和raw_input()的区别

通过查看input()帮助文档,知道input函数也是通过调用raw_input函数实现的,区别在于,input函数额外调用内联函数eval()。eval使用方法参考Python eval 函数妙用 (见下面)

>>> help(input)
Help on built-in function input in module __builtin__:

input(...)
 input([prompt]) -> value
 
 Equivalent to eval(raw_input(prompt)).

>>> help(eval)
Help on built-in function eval in module __builtin__:

eval(...)
 eval(source[, globals[, locals]]) -> value
 
 Evaluate the source in the context of globals and locals.
 The source may be a string representing a Python expression
 or a code object as returned by compile().
 The globals must be a dictionary and locals can be any mapping,
 defaulting to the current globals and locals.
 If only globals is given, locals defaults to it.

Python eval 函数妙用

eval

功能:将字符串str当成有效的表达式来求值并返回计算结果。

语法: eval(source[, globals[, locals]]) -> value

参数:

source:一个Python表达式或函数compile()返回的代码对象

globals:可选。必须是dictionary

locals:可选。任意map对象

实例展示:

可以把list,tuple,dict和string相互转化。
#################################################
字符串转换成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>> type(b)
<type 'list'>
#################################################
字符串转换成字典
>>> a = "{1: 'a', 2: 'b'}"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
{1: 'a', 2: 'b'}
>>> type(b)
<type 'dict'>
#################################################
字符串转换成元组
>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>> type(b)
<type 'tuple'>

2、Python3输入语句

python3中的输入语句只有input()函数,没有raw_input();而且python3中的input()函数与python2中的raw_input()的使用方法一样。

>>> a = input()
10
>>> type(a)
<class 'str'>
>>> a
'10'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python自然语言编码转换模块codecs介绍
Apr 08 Python
python版简单工厂模式
Oct 16 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
python opencv之SURF算法示例
Feb 24 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
Sanic框架路由用法实例分析
Jul 16 Python
如何使用Python标准库进行性能测试
Jun 25 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 Python
python如何删除文件、目录
Jun 23 Python
python实现文件分片上传的接口自动化
Nov 19 Python
python 三种方法提取pdf中的图片
Feb 07 Python
django DRF图片路径问题的解决方法
Sep 10 #Python
详解python中Numpy的属性与创建矩阵
Sep 10 #Python
tensorflow使用神经网络实现mnist分类
Sep 08 #Python
Python unittest单元测试框架总结
Sep 08 #Python
tensorflow实现加载mnist数据集
Sep 08 #Python
使用tensorflow实现线性回归
Sep 08 #Python
Python  unittest单元测试框架的使用
Sep 08 #Python
You might like
PHP的FTP学习(二)
2006/10/09 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
使用jQuery给input标签设置默认值
2016/06/20 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
js仿淘宝放大镜效果
2020/12/28 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
对Python中的@classmethod用法详解
2018/04/21 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Python通过字典映射函数实现switch
2020/11/06 Python
高中生自我鉴定范文
2013/10/30 职场文书
个人求职简历中英文自我评价
2013/12/16 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
小班上学期评语
2014/05/05 职场文书
博士生导师推荐信
2014/07/08 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
助学贷款贫困证明
2014/09/23 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
长城导游词400字
2015/01/30 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
党员公开承诺书2016
2016/03/24 职场文书