首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全面出击,Python基础之化零为整!

最新分享,第一时间送达!

作者:贾胜杰,硕士,退役军人,电气工程专业,现成功转行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;

最后

学编程,多动手就能事半功倍,学习的同时多尝试着用编程解决生活和工作中的问题,按照目标-拆分步骤,逐一实现,你,一定没问题哒!

点下「在看」,给文章盖个戳吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190903A0MBJR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券