浅谈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中global与nonlocal比较
Nov 21 Python
python在linux系统下获取系统内存使用情况的方法
May 11 Python
python 接口返回的json字符串实例
Mar 27 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
Python函数基本使用原理详解
Mar 19 Python
python将unicode和str互相转化的实现
May 11 Python
浅析Python __name__ 是什么
Jul 07 Python
Python3如何使用range函数替代xrange函数
Oct 05 Python
10个顶级Python实用库推荐
Mar 04 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如何得到当前页和上一页的地址?
2006/11/27 PHP
php 禁止页面缓存输出
2009/01/07 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python中的错误处理
2016/04/10 Python
python2.7实现爬虫网页数据
2018/05/25 Python
numpy基础教程之np.linalg
2019/02/12 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
python raise的基本使用
2020/09/10 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
知识就是力量演讲稿
2014/09/13 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
中学教代会开幕词
2016/03/04 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android