如何写好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 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

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

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

2975
来自专栏Java社区

Python 自学步骤(文中有福利)

1564
来自专栏从零开始学 Web 前端

04 - JavaSE之异常处理

2.throw new someExpresion("错误原因"); 表示的是手动抛出异常。 **

1344
来自专栏黑泽君的专栏

Java培训实战教程之Java基础知识精华部分(一)(二)(三)

682
来自专栏前端桃园

通俗的方式理解动态类型,静态类型;强类型,弱类型

1974
来自专栏北京马哥教育

Python While 循环语句

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

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

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

1583
来自专栏极客编程

nodejs之async异步编程

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

912
来自专栏技术博客

C#项目代码规范

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

1234
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之把数组排成最小的数(九度OJ1504)

题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排...

19210

扫码关注云+社区