作为一个开发者,除了Github,你最应该上的网站就是StackOverflow(以下简称SO)- 编程领域的问答网站,在SO上可以找到最正确和最容易理解的答案。如果你是一个有经验的并且愿意分享的人,还可以通过回答问题或者其他用户的赞同而获得'声望值',现在基本互联网公司招聘时如果你的SO账号的声望值比较高是一个很正面的加分项。
新年伊始,我们来盘点下2018年StackOverflow上最受关注的10个Python问题,看看一年之后,Python开发者的关注点有没有改变:
What does the “yield” keyword do?
排名第一的还是它,关键词yield是用来做什么的?也是我早期学习Python时的不能理解的其中一点,该问题下的排名第一的回答非常有启发性
What are metaclasses in Python?
排名第二也没有变,元类是Python语言高级特性之一,是你学习Python绕不过去的学习点
Does Python have a ternary conditional operator?
现在看起来这个问题有点奇怪,因为它提出的太早了。在Python 2.5的时候就加了三元条件运算符: a if condition else b 。但是这个问题的关注很高,今年已经升到了第三位。
Does Python have a string ‘contains’ substring method?
新上榜的问题,其实就是用in
What does if __name__ == “__main__”: do?
这个问题关注度降了一些,这也是我早期很困惑的问题之一,直到在SO找个了答案。
Accessing the index in ‘for’ loops?
新上榜的问题,使用enumerate函数
Difference between append vs. extend list methods in Python
新上榜的问题,和上面的问题一样相对基础
How do I check whether a file exists without exceptions?
新上榜的问题,再延伸一点,可以引出EAFP(Easier to Ask Forgiveness than Permission,即不检查,出了问题由异常处理来处理) or LBYL(Look Before You Leap,即事先检查)这个问题
Iterating over dictionaries using 'for' loops
新上榜的问题,基础知识啦
How do I check if a list is empty?
还是原来的第10位,很初级的问题,答案是 `if not a`
总结
通过2017和2018年的So上最受关注的10个Python问题的变化,可以感受到
1. Python受关注程序越来越高
2. Pythoneer新人更多,更关注一些基础知识