中国领先的IT技术网站
|
|

挨踢部落故事汇(30):我与Python的相爱相杀

Taniey与Python 结缘也是个意外,公司重组,他和队友顶着几星期的压力,徒手搭建服务器,这才有了与Python的相爱相杀。有BUG要上,没有BUG制造BUG也要上。希望用他这7年的填坑经验给同样在Python世界里挣扎的人以兹鼓励。

作者:51CTO开发者交流群来源:51CTO|2017-10-23 13:15


【51CTO.com原创稿件】Taniey与Python 结缘也是个意外,公司重组,他和队友顶着几个星期的压力,徒手搭建服务器,这才有了与Python的故事。有BUG要上,没有BUG制造BUG也要上。希望用他这7年的填坑经验给同样在Python世界里挣扎的人以兹鼓励。

Taniey•Python开发工程师

Taniey·Python开发工程师

Taniey是个典型的吊丝程序猿,爱好发呆,Bug专属制造者。曾挖了无数坑,埋了自己坑了队友。

挖完坑就跑?那不能够。。。做不倒全身而退,就踏踏实实填坑吧。

初识Python,从官网开始

话说Taniey与Python 结缘也是个意外,由于公司重组,领导把他和队友们都给拉出去,说:给你们几个星期,把服务给建起来,否则…,(哈哈,没那么严重了,就是把他们单独分出去成立子公司,所有东西都要重新开发,不过压力还是蛮大的),没办法,他这个C++死粉如果还采用C++去做开发,那等服务开发出来早就死翹翹啦,转去寻求其它开发效率更高的语言,这才有了与Python的接触。

半路出家的Taniey,在这之前可是一点 Python的影子都没接触过。别人都说买书学,可是他呢,小抠儿就没买(其实就是时间太紧,看书那真是来不及的)。网上学吧,当时他找个一个网址真是不错,写的既简洁,又很实用,虽然网址只是对有其它语言基础的更合适。不过很遺憾,Taniey找不到这个网址了,能找到的都是些系统讲解的网址,如果要进行系统学习这些网址很好,大部分开发者都在短时间进行快速攻坚,还是找点儿干货。

对于买书,Taniey觉得书是个好东西,既能随时看,又能够系统地学习,不过想要得到一手的资料, Python官网就是不二之选,为什么这么说,国外网站,对产品的说明文档,没得说,很有条理,也很详细,并且全部内容也不是很多(Python本身语法就不多嘛,很多开发者说Python简洁,这也是其中一个原因),一个星期就可以看完,还是在业余时间!所以不要犹豫,去看吧,顺便还能学点英语,多好~~

再识Python,已是囊中物

学习Python,最好是有项目可以做,在项目中学习这是最为快速的学习方法,工作学习两不误(话说哪有这个好的环境让你学,那公司可真是仁慈啊),现在想想当时顶着压力学的Python,还真是万幸。

都说Python代码简洁,初学还是建议先不要刻意追求他的代码有多简洁,先繁后简再优化(虽然说得有点不负责任,不过有多少代码是一次成型的?),先用起来再说,尤其是对其它编程语言的转型者而言。当你对Python如鱼得水的时候,你会看到Python是如此的强大。

有一点需要注意,Python现在有两个主版本在使用,并且是不兼容的,初学者的大坑啊。

1、比如 print 的使用:

在Python2 里你可以直接使用:print "没有括号的 print 打印"

在Python3里你需要强制使用:print("有括号的  print 打印")

Python2 里的 print 与 Python3里的 print,如果你去看两个版本的print 解释文档,就会发现,python2解释文档里有一个,注意说明(Note),告诉你这个不加括号的 print 是使用了 print 声明(statement),加了括号的print 才是真正使用的 print 函数(function)。

有兴趣可以自己找到看:

Python2Python3

2、Python2 到 2020年就会停止更新,所以如果不是有历史问题就使用Python3吧。Taniey不才就入了这个坑,还好 Python有个 py2to3。

另外,用Python2的时候一定要注意Python字符串编码,很容易就掉进去出不来。

3、Python的tab与空格。因为 Python是以空白字符来检测作用域的,所以,空白字符的使用就比较重要了,很多人在里没少栽跟头,在这里最好养成一个好习惯,使用空格不要使用tab,好在一般IDE,都会对tab 和空格做自动转换,方便许多。

如下几行代码:你能知道哪个是空格,哪个是TAB?

3

空白字符显示出来,就更明白了:

做Python给Taniey最大感触就是基本上不需要写太多东西,需要用到什么只要去PyPI上找一定能找得到。

4、IDE 选择。作开发,IDE是必不可少的,网上可以搜索到很多关于介绍Python IDE的,一说都是一堆,当时Taniey没经验,只能挨个测试。他测试的血泪史就先不说了,就说说测试结果:

在windows上做的开发 ,并在 linux 上运行,Taniey测试最多的是:

        Notepad++ ,  Visual studio PythonIDE 插件,Eclipse+PyDev, PyCharm

①Notepad++:没错,就是一个记事本性质的工具,而且最开始他居然选的就是这个,当初用它是因为简单,后来不用它没办法也是因为太简单了。虽然这个工具可以加很多插件来达到类似IDE的功能,不过跟真正的IDE还差得远呢。

②Visual studio PythonIDE 插件,这个插件,与Visual studio 天然集成,很符合 VS风格,起初他用的时候还是相当不错,不过用多了就会发现到处都是BUG,招人厌了(当时Taniey用的时候才刚2.0,现在都什么版本)。

③PyCharm,听官网吹得挺好,Taniey感觉就是拿Eclipse 改出来的,没啥特别(不要喷,萝卜白菜,各有所爱)。

(感谢@北京-unicorn-数据友情提供破解版)

PyCharm破解版,License server 填写>>

PyCharm注册码的方法>>

第三种方法更麻烦:IntelliJ IDEA License Server本地搭建教程

Taniey最喜欢的还是 Eclipse+PyDev,基本上开发者想用的功能都有了,如果Eclipse 用得好,这个应该也不是问题。Taniey强烈推荐。

5、Python 的 Python Enhancement Proposals (PEPs),其中包括:pep8 的Python代码风格规范,如果要使用Python作项目建议 多看看这个 pep8规范。对你的编码风格很有帮助。参考网址>>

借用 Tim Peters 的 Python之禅。参考网址>>

翻译网上自己找,很多。

【写在最后】

从C++到Python,Taniey越来越爱上这个强大的编程语言——Python,光是用Python来开发的光阴就将近四年了,大多是视频服务类产品,用Python做接口。坑都是摸爬滚打挖了填填了再挖的,用Taniey的话来说就是有BUG要上,没有BUG制造BUG也要上。希望用他这些年的填坑经验给同样在Python世界里挣扎的人以兹鼓励。

如果你也愿意分享你的故事,请加51CTO开发者QQ交流群 627843829联系群主小官,期待你精彩的故事!

51CTO开发者交流群④群 627843829

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

【编辑推荐】

  1. 挨踢部落故事汇(25):剖析链式存储栈与代码实现
  2. 挨踢部落故事汇(26):全栈攻城狮之葵花宝典
  3. 挨踢部落故事汇(27):邻家运维工程师的成长日记
  4. 挨踢部落故事汇(28):梦醒在Java进阶处
  5. 挨踢部落故事汇(29):开发转型测试是一种怎样的体验
【责任编辑:何星 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

数据库加密——最后的防线

本书是关于如何使用已有的密码技术和算法对数据库中存储的信息进行保护的书,书中所关注的内容主要是如何设计、建立(或者挑选、集成)一套...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊