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爬虫之urllib2使用指南
Nov 05 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
tensorflow识别自己手写数字
Mar 14 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
Python实现打包成库供别的模块调用
Jul 13 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 Python
理解深度学习之深度学习简介
Apr 14 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
python b站视频下载的五种版本
May 27 Python
Python Pandas模块实现数据的统计分析的方法
Jun 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
php 清除网页病毒的方法
2008/12/05 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
Javascript的一种模块模式
2008/03/22 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python之mock模块基本使用方法详解
2019/06/27 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
python模拟实现分发扑克牌
2020/04/22 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
小学教师国培感言
2014/02/08 职场文书
计算机系本科生求职信
2014/05/31 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
小学运动会前导词
2015/07/20 职场文书
大学入学感言
2015/08/01 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技