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的Tornado框架异步编程入门实例
Apr 24 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
Python首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
python爬取内容存入Excel实例
Feb 20 Python
python实现批量文件重命名
Oct 31 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
python中id函数运行方式
Jul 03 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Python Socket编程详解
Apr 25 Python
如何理解及使用Python闭包
Jun 01 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
php header Content-Type类型小结
2011/07/03 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
Flask解决跨域的问题示例代码
2018/02/12 Python
详解python和matlab的优势与区别
2019/06/28 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
一套Delphi的笔试题一
2016/02/14 面试题
Delphi笔试题
2016/11/14 面试题
中式面点餐厅创业计划书
2014/01/29 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
现役军人家属慰问信
2015/03/24 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书