如何写出更稳定的Python 代码?

开发 后端
目前市面上,讲 Python 入门的课程很多、讲基于 Python 实现的 AI、数据分析、后端的课程也很多。但讲 Python 进阶的课程不多,讲如何避免 Python 坑点的也不多。

Python 这门语言太简单了,简单到随便一个人,学了半小时就能写出代码,写了几个月代码就敢在简历上写自己熟练掌握 Python。或者有人以为 Python 等于 pandas,Python 等于 AI。

目前市面上,讲 Python 入门的课程很多、讲基于 Python 实现的 AI、数据分析、后端的课程也很多。但讲 Python 进阶的课程不多,讲如何避免 Python 坑点的也不多。

但是,如果大家看一下很多人写的 Python 代码,就会发现,一是代码丑。二是乱用各种特性和语法糖,不知道从哪里学来几个高级用法,就到处乱用炫技

很多人写出的代码,仅仅是一个能够工作,“当前”能产生正确结果的代码。这个代码毫无优化可言,速度慢,不稳定,不知道未来哪天突然就不能用了。

有很多人吐槽 Python 速度慢,有全局解释器锁限制了代码的性能,或者 Python 是动态语言,变量可以随便赋值导致项目难以维护。。。

但实际上,我想说,写出能够工作的 Python 代码,这很容易,但是把 Python 用对又是另一回事。很多人把 Python 的特性当做 Bug,把自己的无知当做语言的缺陷。很多人滥用 Python 的特性,然后怪Python 本身太灵活难以维护。

常见的问题

我们来看几个例子。我刚刚加入网易的时候,当时有一个做数据仓库的高级工程师,给他带的实习生说,Python 有全局解释器锁,所以它的多线程实际上是单线程,不需要考虑并发冲突。这种说法是对全局解释器锁的一种彻底误解,这样说的人,根本不知道全局解释器锁作用在哪里。

还有人代码里面大量的 try … except,一层套一层。这样一来,它的代码运行以后绝对不会报错。看起来非常稳定。但是经常运行一段时间,输出的结果就跟预期相差甚远。而且根本不知道哪里出了问题。

有的同学电脑里面第一个 Python 是使用 Anaconda 安装的。后来因为其他原因要安装另外的 Python 环境。导致原来的环境不能正常使用。打开 PyCharm 后,发现全是红色波浪线。使用 pip 安装一个第三方库,明明已经安装成功了,在命令行交互环境已经可以正常导入了,但是在 PyCharm 里面一运行就报错,提示缺少这个第三方库。

还有的同学,不知道做了什么操作,导致 Python 自带的模块无法正常导入,或者导入以后,缺少了对应的功能,一运行就报错。

 

责任编辑:赵宁宁 来源: 未闻Code
相关推荐

2020-07-15 08:17:16

代码

2013-06-07 14:00:23

代码维护

2020-05-11 15:23:58

CQRS代码命令

2021-09-01 08:55:20

JavaScript代码开发

2021-11-30 10:20:24

JavaScript代码前端

2022-02-17 10:05:21

CSS代码前端

2022-02-08 19:33:13

技巧代码格式

2021-01-04 07:57:07

C++工具代码

2019-09-20 15:47:24

代码JavaScript副作用

2022-03-11 12:14:43

CSS代码前端

2020-05-19 15:00:26

Bug代码语言

2022-10-24 08:10:21

SQL代码业务

2015-09-28 10:49:59

代码程序员

2019-06-24 10:26:15

代码程序注释

2015-05-11 10:48:28

代码干净的代码越少越干净

2021-07-19 08:24:36

阿里代码程序员

2020-05-14 09:15:52

设计模式SOLID 原则JS

2022-06-16 14:07:26

Java代码代码review

2021-11-29 07:02:24

Python函数操作

2016-11-25 13:50:15

React组件SFC
点赞
收藏

51CTO技术栈公众号