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 相关文章推荐
python3写爬取B站视频弹幕功能
Dec 22 Python
python自动发邮件库yagmail的示例代码
Feb 23 Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 Python
Python使用gRPC传输协议教程
Oct 16 Python
python-numpy-指数分布实例详解
Dec 07 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
python读取与处理netcdf数据方式
Feb 14 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Python OrderedDict字典排序方法详解
May 21 Python
python库sklearn常用操作
Aug 23 Python
python使用BeautifulSoup 解析HTML
Apr 24 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
linux下为php添加curl扩展的方法
2011/07/29 PHP
解析php中memcache的应用
2013/06/18 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
jQuery 1.0.2
2006/10/11 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
AngularJS内置指令
2015/02/04 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
python保存log日志,实现用log日志画图
2019/12/24 Python
python实现文法左递归的消除方法
2020/05/22 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
初中语文教学反思
2014/02/02 职场文书
会计专业导师推荐信
2014/03/08 职场文书
汽车促销活动方案
2014/03/31 职场文书
施工协议书范本
2014/04/22 职场文书
卫生系统先进事迹
2014/05/13 职场文书
实习生工作证明范本
2014/09/14 职场文书
信息技术课教学反思
2016/02/23 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python