如何写好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循环来代替。

本文来自企鹅号 - 码上就来媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏韩伟的专栏

框架设计原则和规范(二)

此文是《.NET:框架设计原则、规范》的读书笔记,本文内容较多,共分九章,将分4天进行推送,今天推送4-5章。 1. 什么是好的框架 2. 框架设计...

31250
来自专栏章鱼的慢慢技术路

《算法图解》第二章笔记与课后练习

205100
来自专栏北京马哥教育

Python While 循环语句

? 文 | 豌豆 来源 | 菜鸟教程 豌豆贴心提醒,本文阅读时间3分钟,文末有秘密! Python 编程中 while 语句用于循环执行程序,即在某...

45470
来自专栏技术博客

C#项目代码规范

   小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字。命名各种各样,五花八门,大写英文、小写英文、大写拼音、小写拼音、英文和拼...

37540
来自专栏章鱼的慢慢技术路

《算法图解》第二章笔记与课后练习_选择排序算法

17530
来自专栏程序员的知识天地

Python基础为重,成就月薪过万

傻瓜式,傻瓜式的你可以直接点开进行下载,但是智能下载这版本,有的人愿意下载别的版本所以就要用到另外的方法

8720
来自专栏极客编程

nodejs之async异步编程

在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。

17420
来自专栏wym

18年暑假多校赛第一场 1002

http://acm.hdu.edu.cn/showproblem.php?pid=6299

9910
来自专栏Java开发者杂谈

Ruby(1):入门

安装:   一般来说linux会自动装ruby,可以通过:   ruby -v 来查看ruby版本   直接使用ruby命令的话,是用来执行ruby文件的。如果...

36880
来自专栏Python小屋

Python使用marshal模块操作二进制文件

Python标准库marshal可以进行对象的序列化和反序列化。 >>> import marshal # 待序列化的对象 >>> x1 = 30 >>> x2...

30750

扫码关注云+社区

领取腾讯云代金券