浅谈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中利用sqrt()方法进行平方根计算的教程
May 15 Python
Python随手笔记之标准类型内建函数
Dec 02 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
浅谈Python3中print函数的换行
Aug 05 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
Python列表推导式实现代码实例
Sep 09 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获取网址的顶级域名函数代码
2012/09/24 PHP
教你如何使用php session
2013/10/28 PHP
Chrome Web App开发小结
2014/09/04 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
简单了解Python中的几种函数
2017/11/03 Python
Linux下python制作名片示例
2018/07/20 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
毕业自我鉴定书
2014/03/24 职场文书
入党综合考察材料
2014/06/02 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
导游词之无锡唐城
2019/12/12 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
利用JavaScript写一个简单计算器
2021/11/27 Javascript
通过Python把学姐照片做成拼图游戏
2022/02/15 Python