身为一个屌丝的你,是不是想学习把妹基础?这里就来通过uml告诉你把妹原理。
初探nginx
逃不出的怪圈--《恐怖游轮》观后感
如何设计好一个协议
正则表达式基础
合理的规划python项目
之前看过一些别人写的python项目目录结构,自己其实也一直尝试把python项目结构做好,规范的项目结构,能为代码带来很多方便。
import
规范的项目结构是使用标准import的前提,我之前的一篇博客,提到过这点,对于三种引用方式,implicit relative import,explicit relative import,absolute import
。
实际上只有第三种,才是官方推荐的,第一种是官方强烈不推荐的,python3中已经不可以使用了,我们的from future import absolute_import
也就是为了禁用这种方式。参见我之前的一篇博客:详解python import
就像我说的那样,你要把主控main.py
放到最外层,将其它模块都构造成完整的包。
就是你test目录下的单测,也要在主控的目录下负责调用才行。我想说的是如果你的代码中出现了其它两种方式,比如这种写法:
1 | import sys |
你要想想,是不是,你一开始设计的就有问题。
我现在的python目录结构大概是这样,平时用的python框架主要是flask和tornado,
实际上flask的项目偏业务重些,所以代码量也非常多,但是一般而言,flask的项目都比较规范,
因为一些文档已经在告诉你如何构建项目结构,如何使用它的一系列插件。
到是tornado的项目,因为其本身就用来写些接口和微服务,更偏基础服务,所以很多开发者很少注意其项目结构。
我比较中意的python项目结构,大概是这样的(这算是我的标配了):
1 | README.md |
注意不要log文件目录放在项目文件目录里。
python学习列表
Introduction
有朋友想学python,但不知如何学起,想要一个python的学习列表,我想了一下,决定写一篇博客。
首先我写的不是“如何成为python高手”,而是作为一个已经入门的初学者,如何继续下一步提高,一是因为我的朋友很明显没有想成为一个python高手,二是因为我不是python高手,所以我也不知道如何才能成为python高手。
所以我这篇博客完全是私人定制.
我还要强调一点的是,学习技术绝对不是随便闭关几天就能学成的。我算写了6年代码了,但是依旧觉得自己什么都不知道。
why python?
python是一个动态,解释型语言,相比于java和c++,它更加灵活,更容易拥抱“变化”,互联网行业的兴起使得python在这两年越来越火,(将来可能还会更火)。
但同时要注意的是,由于它过于灵活,所以在很多比较“正规”的领域很少使用python,这些领域只有c++,java,c#这样的静态语言才能胜任。别听那些所谓google的许多项目是用python实现的,或者豆瓣这么大的网站就是用python实现的
之类的言论。实际上,python在大型项目上也就做做胶水语言,写个业务逻辑。项目做大了,python这种没有静态类型检查的,效率又低的动态语言,简直是噩梦。
说这些的目的是为了说明,一定要理解python的优势是什么,如何去用它为你带来收获,避免走过多不必要的弯路。