Python内功修炼
前言
我们经常反反复复的解答类似的题目而因为各种报错苦恼不已。那么有没有一种好的方法能够解决这些问题,从而不再反反复复重复试错呢?答案是有,现在我围绕三个方面来说一说怎么从根本上解决Python中反反复复调试和报错的问题。
首先重要的是开发哲学,它会指导形成你的编程思想
下面我们来看看大名鼎鼎的Requests库的开发哲学
开发哲学¶
Requests 是以 PEP 20 的箴言为中心开发的
- Beautiful is better than ugly.(美丽优于丑陋)
- Explicit is better than implicit.(直白优于含蓄)
- Simple is better than complex.(简单优于复杂)
- Complex is better than complicated.(复杂优于繁琐)
- Readability counts.(可读性很重要)
对于 Requests 所有的贡献都应牢记这些重要的准则。
其次重要的是,站在巨人的肩膀上
你要知道如何正确的解决问题,第一途径是百度吗?是问同学吗?是问老师吗?如果这些都没有解决,那么怎么办?
我认为学习Python中,非常重要的一点就是查官方文档,去看看官方文档有没有解决方案,因为Python的开发团队经验丰富,这是任何一个开发者都无法比拟的,即使是国内教材,任何一本书籍都是基于此而进行发展的。
所以我认为,在Python问题中,Python官方文档就是巨人,你需要反复翻阅并仔细品读,有时候你认为这种方式麻烦,恰恰可能是最大的捷径。 因为很多时候,你并不是百度或者问同学和老师就能一次性解决问题的。
一方面查Python官方文档很重要,另一方面Python只是一个工具,使用它解决问题,问题本身也需要去理解,比如类似PAT刷题的思想,我归纳总结如下:
- 第一步理解题意
理解题意一定要和题目中给出的测试样例相结合,很多时候理解有偏差,就需要样例去验证自己的想法,注意这是第一步,先不要写程序! - 第二步编写程序
这一步很重要,是要将实际问题转化为Python程序去解决,首先先将题目中的输入和输出样例,在程序中声明并初始化。此时你就知道,题目给你什么,我程序要返回什么?接下来,就需要具体编写程序了。 - 注意的地方
变量一定要简洁易懂,易懂第一,不要声明p,y,x,z这类变量,程序代码却来越多的时候,就容易看不懂,容易出错,也不要只让自己看的懂,如果这个变量虽然对于你来说简洁易懂,但是如果你碰到问题,寻求大佬帮你调试,别人看不懂,就增加了别人阅读你代码的成本,并浪费了时间。
熟练的断点调试和编写测试用例是高手的基本功
debug,大家都很熟悉,单步调试,跳出函数,进入函数,单句调试,跳到断点等等,这些必须数量掌握,碰到问题时候才能快速定位。
单元测试非常重要,在leetcode和PTA类似平台刷题的时候,经常碰到测试样例过了,但是提交错误的情况,就是因为往往没有考虑到边界值,所以需要测试用例,Python内置了单元测试框架unittest,这里放出Python官方文档,以供参考:unittest --- 单元测试框架

浙公网安备 33010602011771号