如何写好python代码

写代码好比画画,好的代码就像一件艺术品,美观、可读性高,让人看着舒服。代码是写给人看的,不是写给机器看的,遵守一定的代码规范很重要,就像写作文需要总分总结构,这次来说说写python代码时有什么需要遵守的规范?

(小技巧,如果使用pycharm开发的话,使用快捷键可以一键规范化代码。)

参考了google的python编码规范

命名规范

在Python中类名最好以以大写字母开头,也就是驼峰命名法,而模块和包名使用小写加下划线的方式,同时函数(方法)也使用小写加下划线。内部的变量和方法使用单下划线(在python中以单下划线表示的变量代表着受保护,而以双下划线表示私有的),使用单下划线仅仅是许多python程序员严格遵守的一种约定。

最好将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块。

访问控制

java中对于私有变量严格使用get和set方法进行外部访问。在Python中不需要这么做,如果内部变量除了提供外部访问功能之外还有一些其他操作,再使用get和set。

如果一个类不继承自其它类, 就显式的从object继承,嵌套类也一样。

导入

最好不要使用,用到哪个再导入哪个。如果名字太长,使用代替:。

空格

不要在逗号、分号、冒号前面加空格, 但应该在它们后面加(除了在行尾)。

# yes

a, b = [1,2]

# no

a , b = [1,2]

在二元操作符两边都加上一个空格, 比如赋值(=), 比较(==, , !=, , =, in, not in, is, is not), 布尔(and, or, not)。

当用于指示关键字参数或默认参数值时, 不要在其两侧使用空格。

def func(a, name='zhuzhe'): pass

True/False

尽可能使用隐式的false。

不要这样写:

if a == []: # balabala

这些写好一些:

if a: # balabala

缩进

用4个空格,不要使用tab键。

其他

先用于帮助内核找到Python解释器, 但是在导入模块时, 将会被忽略。 因此只有被直接执行的文件中才有必要加入。

filter(), map()以及reduce()这些函数已经过时了,使用生成器表达式或者for循环来代替。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214A0ZUKN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券