浅谈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获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Python如何省略括号方法详解
Mar 21 Python
pandas将list数据拆分成行或列的实现
Dec 13 Python
Python实现简单得递归下降Parser
May 02 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
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP常用的三种设计模式
2017/02/17 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python理解递归的方法总结
2019/01/28 Python
Python常用的json标准库
2019/02/19 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
业务员岗位职责范本
2013/12/15 职场文书
初中女生自我鉴定
2013/12/19 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
2015新学期家长寄语
2015/02/26 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS