Python就是这样一门简单的语言,简单到任何人学半小时就能写代码,写代码几个月就敢在简历上写精通Python。或者有人认为Python等于pandas,Python等于AI。目前市面上有很多Python入门课程,也有基于Python的AI、数据分析、后端等课程。但是关于Python的进阶课程并不多,关于如何避免Python陷阱的课程也不多。但是,如果你看很多人写的Python代码,你会发现代码很丑。二是乱用各种特征和语法糖。不知道从哪里学来一些高级用法,就拿来炫耀一下。许多人编写的代码只是一个有效的代码,并且“当前”产生正确的结果。这段代码完全没有优化,慢而且不稳定,以后哪天突然就不能用了。很多人抱怨Python速度慢,全局解释器锁限制了代码的性能,或者Python是动态语言,变量可以随意赋值,导致项目难以维护。..但实际上,我会说编写有效的Python代码很容易,但正确使用Python是另一回事。很多人把Python的特性当成bug,把自己的无知当成语言缺陷。许多人滥用Python的特性,然后责怪Python本身过于灵活且难以维护。常见问题让我们看几个例子。刚加入网易的时候,有一个高级工程师做数据仓库。我带的那个实习生说Python有全局解释器锁,所以它的多线程其实就是单线程,不需要考虑并发冲突。这种说法完全是对全局解释器锁的误解。说这话的人不知道全局解释器锁在哪里工作。还有很多try...except在代码里,一层一层的。这样,它的代码运行后就永远不会报错了。看起来很稳重。但是往往运行一段时间后,输出的结果与预期的结果相去甚远。并且不知道出了什么问题。一些学生使用Anaconda在他们的计算机中安装了第一个Python。后来因为其他原因又安装了一个Python环境。导致原有环境无法正常使用。打开PyCharm后发现全是红色的波浪线。使用pip安装第三方库,显然已经安装成功,在命令行交互环境下可以正常导入,但是在PyCharm中运行会报错,说明第三方库不见了。有的同学不知道自己做了什么操作,导致Python自带的模块无法正常导入,或者导入后缺少对应的功能,一运行就报错。
