编码规范在程序开发中是一项很重要要求,良好的编码规范对程序的可读性、代码的可维护性都有很大的提高,从而提高开发效率。下面总结了python中一些实用的开发规范,供大家借鉴和参考。
1.每行不超过80个字符
每行代码太长既不美观也影响可读性,当需要写一行长代码时,可以使用圆括号将这行代码包起来,并在适当的地方换行。这样易读且美观。像下面这样:
不要使用反斜杠连接多行。
这种方式在导包时也适用,如果一个库中需要导入很多模块,可以使用圆括号将需导入的模块包起来,并在适当的地方换行,像下面这样:
2.使用4个空格缩进代码
你可能遇到过这种情况,在Pycharm中写好的代码上传到Linux服务器上,运行后会提示代码缩进错误。这是因为在Pycharm中,你使用的是Tab进行缩进,导致在Linux服务器上出错。
所以,要使用4个空格,而不是Tab键进行缩进。
3.适当的使用条件表达式
适当的使用条件表达式,可以使代码看起来简洁,像下面这样:
flag = request.POST.get(“flag”)flag = 1 if flag == 1 else 2
4.列表推导和生成器表达式
适当的使用列表推到和生成器表达式,也可以使代码看起来简洁,像下面这样:
students = [1, 2, 3, 4, 5, 6, 7, 8]group = [ id for id in students if id%2 == 0 ]
Lambda函数也适用于单行函数
5.使用隐式的False
在python中,0、None、[]、{}、“”这些都是False,所以我们在判断某个变量是否是这些值时,可以直接这样判断:
if param:
而不是
if param != []:
上面的方式看起来简洁多了。但是注意,0会被当作False来处理,如果你要判断一个值是否是0,就不要用上面的方式了,只能这样写:
if param == 0:
6.字符串的拼接
避免在循环中用+和+=操作符来累加字符串. 由于字符串是不可变的, 这样做会创建多余的临时对象, 作为替代方案, 你可以将每个子串加入列表, 然后在循环结束后用 .join 连接列表。
7.函数参数设置默认值
你可以在函数参数列表的最后指定变量的值, 例如
def foo(a, b = 0):
但是可能出现问题:
默认参数只在模块加载时求值一次. 如果参数是列表或字典之类的可变类型, 这可能会导致问题. 如果函数修改了对象(例如向列表追加项), 默认值就被修改了.
尽量不要在函数或方法定义中使用可变对象作为默认值。
8.函数中使用文档字符串
定义一个函数时,同时应该给它加上文档字符串,文档字符串中包含函数功能、函数入参、函数出参等信息,像下面这样:
调用者通过文档字符串就能知道函数的功能、入参、出参等信息。
9.字符串格式化
可以使用下面几种方法格式化字符串
str1 = "hello %s, 今年%s岁" % (name, age)str2 = "hello {}, 今年{}岁".format(name, age)
或者:
今天就到这里,本文的总结还有不全之处,欢迎大家来补充。