最新分享,第一时间送达!
作者:贾胜杰,硕士,退役军人,电气工程专业,现成功转行K12领域数据挖掘工程师,不仅在数据清理、分析和预测方向,而且在自制力和高效学习方面都有丰富经验。
编辑:王老湿
Hi,各位同学,《从0到1,数据分析师修炼之路》专栏关于修炼技法的部分已经发布了三篇:
在最新的一篇火力全开,一网打尽Python常用知识点!中我们学习了Python的编码规范、变量、数据类型与运算符、控制流以及函数,不知道大家有没有尝试下在本地环境中去动动手,敲敲代码呢?本周呢,我们就来一起把上周学习的零散内容,串在一起,锻炼编程思维,用Python实现一个常用的小工具。
本周内容
输入与输出
错误与异常
读写本地文件
模块的导入
天气小闹钟
输入和输出
想要与用户进行交互,就需要我们获取用户的输入,并且根据输入去处理再输出结果。
输入:函数
在python中,我们使用函数来获取用户的输入,但要注意,函数返回的结果,都是字符串类型的。
示例:
我们可以使用函数来查看某一变量的数据类型,你可以尝试下,用input获取数字后,变量的数据类型是什么?
输出:函数
我们对输出已经很熟悉了,但当我们怎样实现按照某种模版进行输出呢?这就需要输出格式化出场啦!
示例:
可以看到,格式化输出就像是在往坑里种萝卜,第一种方式是先挖好坑(大括号),然后再按照顺序把变量逐个放进去,第二种是直接把萝卜种到坑里,注意,一个萝卜一个坑,大括号对的数量要与变量一一对应哦!
错误与异常
编写代码的过程,就是与bug无限争斗的过程。
如何读懂报错
下面以Jupyter Notebook为例,给大家简要讲解下,当出现错误时,如何去修复bug。
我们以上周最后的一个函数为例,大家看如下报错:
先看错误类型
错误类型即红色标出的,并且在最后一行也给出了解释,我们得知,是由于我们用大于号比较了字符串与整型,这两种数据类型不匹配,导致的数据类型错误。
刚开始时,可以直接复制最后一行到浏览器去查询报错原因。
再看出错位置
错误位置可以通过绿色的箭头来判定,我们可以看到错误出现在了函数中的第二行代码这里。
综上,我们得知,是在函数中没有考虑用户输入的问题,所以,我们可以添加提示,并将字符串转为数字类型。
无法避免的错误
有时候,我们无法避免一些可能出现的错误,还是以上面的函数为例,就算进行了提示,但依然会有人输入'九十'之类的值,那我们又不想让函数报错并终止,这时候我们就需要语句进行。
:这是 语句中的唯一必需子句。该块中的代码是 Python 在 语句中首先运行的代码。
:如果 Python 在运行 块时遇到异常,它将跳到处理该异常的 块。
:如果 Python 在运行 块时没有遇到异常,它将在运行 块后运行该块中的代码。
:在 Python 离开此 语句之前,在任何情形下它都将运行此 块中的代码,即使要结束程序,例如:如果 Python 在运行 或 块中的代码时遇到错误,在停止程序之前,依然会执行此 块。
所以,我们可以把函数修改为“当用户输入的数据类型不正确时,可以给她进行提示,让她进行更正”,那么代码可以修改为:
读写文件
即打开文件,用法如下:
但使用函数打开的文件是不会自动关闭的,需要使用函数手动关闭,这就很麻烦,如果只打开忘记关闭的话,打开的文件就会一直占据内存,导致运算效率降低,所以,一般使用时,都会在前面加上一个,这样,在操作完包含的语句之后,他就会帮我们自动关闭文件,省去了很多麻烦。
你也可以自己写一个for循环,不断打开某文件,试试看你的电脑最多能同时打开多少个文件。
常用的读写模式:
导入模块/函数
导入别人写的模块
导入自己写的模块
虽然Python的第三方库数量众多,覆盖面广泛,但针对个性问题,有时候还是需要我们自己动手去写一些函数,方便重复利用。
这时,需要我们提前讲需要调用的函数写进一个拓展名为的脚本文件中,
并将这个脚本文件放在与调用它的文件相同文件夹中。
天气小闹钟
接下来,我们利用一个的实现过程,来熟悉一下如何去拆分步骤,逐个实现,如何去解决问题,一一击破。我们可以尝试画一个思维导图来去解决这个问题。
接下来,我们按照步骤逐个去实现不同的模块。
设定模块
边写边在Notebook中进行测试哦~有bug随时解决掉!
时间模块
然后是时间模块,但我们之前并没有接触过任何与时间有关的函数,我们求助搜索引擎吧。
快速有效的搜索,是一项重要能力。一般情况下,关键字选择python+想实现的功能,比如说
很容易就能找到一个叫做的模块可以用来获取本地时间,这正是我们想要的。
天气模块
我们可以通过网络爬虫或者一些天气网站的开放API去获取某一城市的天气,这里可能会稍难一些,但依然可以通过搜索关键字或者去尝试学习并解决。
如果想系统学习爬虫,可以参考AI派的爬虫专栏("王老湿,我。。我想学那个。。爬虫。可以嘛")
这里我选择的是利用天气API,免费账户即可使用,但获取的结果是json文件,又是一个新东西,没关系,找搜索引擎解决!
格式化输出
这一步也可以直接放在天气模块中。
把模块组合起来
接下来,我们就按照步骤的顺序,把各个模块组合起来
编写并执行脚本
个人建议使用VScode进行脚本编写。
把如上所有函数写在脚本中,但要在最后的模块组合前加上一句
Windows用户可以在脚本文件所在的文件夹下,按住和右击,选择;Mac用户可以右击脚本所在文件夹,选择。然后输入
即可运行你的小工具啦~
待优化
优化用户交互,增加错误修改等功能;
不能播放声音的闹钟算是闹钟吗?那文字转语音怎么搞?可以尝试下百度API;
最后
学编程,多动手就能事半功倍,学习的同时多尝试着用编程解决生活和工作中的问题,按照目标-拆分步骤,逐一实现,你,一定没问题哒!
点下「在看」,给文章盖个戳吧!
领取专属 10元无门槛券
私享最新 技术干货