前言
按照之前直播话题投票结果,第一个话题是《如何像我一样对 Python 这么熟悉》
「
熟悉
」这个词其实智者见智仁者见仁,不过我们还是得明确一点。
我2011年5月开始学习Python,到12年只是能写爬虫和简单脚本这么个水平,有小部分工作也能用Python来完成。不过现在想来非常搞笑的是当时觉得我已经「熟悉」Python了,甚至在13年投递简历时,我还曾经用过一次「精通」。
再之后,确定了靠Python吃饭,工作和业余时间越来越多的去接触、理解和熟悉Python,越发觉得有很多Python相关的内容我还不「熟悉」,要学的反而越学越多了。
所以这里我得先明确一下「熟悉」的含义。
我熟悉什么
我分了2个角度
熟悉Python本身语言语法
我见过很多人说Python好学好上手,不过看他们的代码,经常一点也不pythonic,可以看到明显的c++、Java风,其实很多Python工程师是会很嫌弃的;我也见过很多很多自己本职工作常用语言没学好的人在知乎回答你Python工程师如何如何;我还听过一些人说「哎呀,学完能用,能完成工作不就好了,精通有什么必要」...
见过太多人学了很多门语言,无一「熟悉」(我都不好意思用“精通”」,无非是换个语言搬砖。就像现在被炒得很火的Golang,给了很多搬砖工程师一个继续拉低底线的机会,其中很多人都喜欢写「我从Python转到Golang」题材的文章把Python喷的一无是处,我却觉得很多时候是自己用的烂罢了。
我觉得买本书就能轻易学到的知识,不具备多少竞争力,因为你会的别人也会,这个时候如果别人不会的而你会,那么你就有了竞争力,或者被高看一眼。
当我决定要靠Python吃饭那天起,我就希望对它的语言语法很熟悉。我个人觉得如果你专职从事相关语言开发工作,不积累3-5年,是达不到「熟悉」的。为此我做了很多努力,你要我问现在对Python多熟悉,自我评价是:
-
Python相关的问题我都可以自己解决
-
如果不考虑极端情况下的性能要求,都可以使用Python完成工作
-
可以在正确的地方使用最正确的语法和特性
-
能99.99%看懂别人写的(正确的)Python代码,也包含标准库和C API
有个「一万小时定律」我是不认可的。我觉得
坚持是一方面,正确的方法姿势也是极为重要的
熟悉Python世界新动向
我会及时的了解Python 世界新动向,及时更新自己的知识储备。如果在工作中可以用到会第一时间应用和尝试。我们每天会接受到各种各样的Python相关消息,怎么样从中判别未来趋势、过滤其中的糟粕?另外还会有一些八卦事件。举几个例子吧:
-
Python 3.8和3.9都会有什么(3.8的海象运算符、3.9的PEP554描述的subinterpreters模块)
-
国内外各大厂现在都在怎么用Python,大体技术栈如何
-
Python社区这段时间正在讨论什么,有什么新的、好的想法(新的指导委员会提案,如何工作、新的核心开发是谁做了什么、社区准备把Issue迁到Github、为方便f-string调试增加=的用法: issue36817,本周刚合并,有空写篇文章介绍下)
-
最近创建了什么PEP,哪些PEP刚刚被接受(拒绝/修改),内容大体是什么,预计在哪个版本上...(最近刚被接受的包含570、574和581)
-
最近什么公司或者项目有什么特别需要关注(black已经迁移到Python官方组织下、2月份dropbox分享过迁移百万行代码到Python3的经验)
-
评论「GvR宣布不再出任Python语言的BDFL」这件事是我最早发公众号文章的
-
GvR发文声援996,最早是我在朋友圈爆出来被炒起来的
-
某知名Python博主和书籍作者因抑郁症离世,我3月1日就知道了。但我未在任何公众场合讨论过,只是极小范围和几个好友唏嘘了一下。我认为你应该取关任何参与这件事的公众号知乎专栏及其维护者,这人血馒头吃的有点🤮
如何像我一样对 Python 这么熟悉?
之后的直播不再单独售卖。会员同学,明天晚上8点开车,不见不散~
链接 https://appv72m4Msi7516.h5.xeknow.com/st/5WqGfm7c5(用下面二维码或者文末「阅读原文」都可达):