浅谈python3中input输入的使用


Posted in Python onAugust 02, 2019

今天谈一下关于python中input的一些基本用法(写给新手入门之用,故只谈比较实用的部分)。

首先,我们可以看一下官方文档给我们的解释(在python的shell中输入命令即可):

浅谈python3中input输入的使用

上面的英文说的是什么呢?大家有兴趣的可以自己在网上翻译一下,大致说的就是input这个函数,第一个参数是提示语,它默认是空的。在我们使用input的时候,会从标准输入中读取一个string,即字符串(请注意,这里很重要,下面我们会继续说),对于用户输入的换行是不会读入的,因为我们都知道input是以换行作为输入结束的标志的。

下面就以例子的形式来展示input的“内涵”:

(1)从下图可以看出,input从标准输入中为我们拿到的值是一个字符串,那么也就是说,无论我们的初衷是得到一个整数、小数或者其他的值,input都会在我们的输入的值的左右两边加上一个引号(“”),也就是说对于我们拿到的东西,我们使用做后期的加工的。

浅谈python3中input输入的使用

(2)我们来得到一个整数,很简单,只需要使用强制类型转换就可以了:

浅谈python3中input输入的使用

(3)刚刚在(1)中说到了对于我们的输入,无论我们的初衷是什么,都会被加上一对引号,所以你想到了什么呢?那当然是把引号去掉了,这样的话我们是不是就会得到原来的东西了呢?请注意,这里我会通过两个例子展示(eval请参考另一篇文章点击打开链接)。

浅谈python3中input输入的使用

上面的这个例子中,我们想得到的是一个整数,yes,这个时候你用eval出去input“添加”的引号是完全正确的。其实,当我们输入的时候,eval帮我们去除了引号后,就相当于执行了a=234,显然这是整数赋值。而如果没有加eval,只是单纯的a=input("请输入:"),显然,我们得到的是a="234"。

浅谈python3中input输入的使用

这个例子,我希望展示eval的本质给大家看。这个错误说的是,“wer”这个名字没有被定义,那么请注意,这个时候的“wer”被编译器理解成了什么呢?对于“wer”,编译器会在自己的系统库中寻找它,看是否有“wer”的定义,如果没有找到,那么不好意思,系统只能将它理解为你在使用一个未定义的变量,也就是说,“wer”被理解成了变量的名字。对于上面的234为什么不会报这样的错误呢?那是因为系统在自身的库中可以知道234是一个整数,那么自然就不会报错了。下面在给一个例子,进一步加深理解。

浅谈python3中input输入的使用

看到这个例子,我想先让大家回忆一下我们,使用过的赋值语句:a,b=34,3。对于这个语句,大家在类比到上图中的eval的输入,在输入的时候,我输入的是“34,3”,那么,在eval会去除input“强加”的引号的时候,是不是等价于“a,b=34,3”这个赋值语句!所以,在这里我想通过这两个例子展现一下eval的本质,那就是"单纯"的替我们去出引号,大家可以当做eval执行后将引号里面的内容原原本本地写回了代码的原来位置,那么这一切是不是就可以看得很明白了。

请参考上面提到的eval的文章,与此处进行结合,进行互补。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现socket客户端和服务端简单示例
Feb 24 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 Python
Python多线程原理与用法详解
Aug 20 Python
python将list转为matrix的方法
Dec 12 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
python word转pdf代码实例
Aug 16 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 Python
PyCharm+PyQt5+QtDesigner配置详解
Aug 12 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 #Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 #Python
Django单元测试工具test client使用详解
Aug 02 #Python
Django使用unittest模块进行单元测试过程解析
Aug 02 #Python
pip安装python库的方法总结
Aug 02 #Python
python twilio模块实现发送手机短信功能
Aug 02 #Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 #Python
You might like
destoon二次开发常用数据库操作
2014/06/21 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
详解Webpack4多页应用打包方案
2020/07/16 Javascript
用Python写冒泡排序代码
2016/04/12 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Django Celery异步任务队列的实现
2019/07/24 Python
python分布式编程实现过程解析
2019/11/08 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
军训自我鉴定
2014/01/22 职场文书
同居协议书范本
2014/04/23 职场文书
教师个人自我评价
2015/03/04 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
生活委员竞选稿
2015/11/21 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
python 闭包函数详细介绍
2022/04/19 Python
mysql数据库如何转移到oracle
2022/12/24 MySQL