让你的代码续行变得轻松与优雅
在写代码的时候往往会遇到一行要写很多字符的状况,python的标准要求是一行不应该超过80个字符,对这个要求,遇到一行有很多字符情形应该适当地换行来达到python一贯的书写优美标准。
我们知道,在代码中换行时常发生,但是很多时候你不知道你的换行其实就是在续行,为什么这么说呢?在代码里面是一行一行读取信息的,所以你不经意的换行很多时候就是续行,它们可能看起来不在一行,但是它们的逻辑却是一行,举个简单的例子,用续行符“\”来续行:
a = 1 +\
2
上面的语句乍看起来是两行代码,其实它是一行代码,这样说你应该已经明白了续行的重要性,不能续行,那么代码只能放在一个可视的行,那人类阅读起来将会很蓝瘦。按照PEP8[1]的续行要求,续行操作最好放在()之中,这样既可以达到续行的要求,又可以保持代码的优美,那看看我们可以怎样优雅地续行:
""" 如何续行更优美
可以看到在说明文档中可以随意换行
在()[]{}中续行会使得代码更优美
尽力少用'\'来续行,保证代码的优美和可读性
the statistics of this file:
lines(count) understand_level(h/m/l) classes(count) functions(count) fields(count)
000000000070 ----------------------l 00000000000000 0000000000000002 ~~~~~~~~~~~~8
"""
import time
__author__ = '与C同行'
# 使用()来续行
# 括号后有内容,从','后续行,下一行紧接上一行内容并对齐
tuple_number = (1,
2,
3)
# 括号后无内容,下一行缩进四个空格
indent_tuple_content = (
'aaaa',
'bbbb',
'cccc'
)
# []与{}类似()
list_number = [1,
2,
3]
indent_list_content = [
'aaaa',
'bbbb',
'cccc'
]
set_number = {1,
2,
3}
indent_set_content = {
'aaaa',
'bbbb',
'cccc'
}
# 文本过长使用'\'来续行,若文本在()、[]、{}中可以直接相加文本
long_text1 = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
'dddddddddddddddddddddddddddddddddd'
long_text_list = ['bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
'fffffffffffffffffffffffffff']
# 函数参数中的续行,类比
def long_params(param1,
param2, param3,
param4):
...
def long_params_indent(
param1,
param2
):
...
if __name__ == '__main__':
print(f'当前时间:{time.ctime()}')
print('长文本结果:')
print(long_text1)
print(long_text_list)
看一下结果:
well,可以看到上面的代码给了我们很好的示例,想要续行过长的逻辑语句,最好使用()、[]、{}
这三个容器符合,必要时再使用显示续行符“\”
。
参考资料
[1] 代码规范:https://www.python.org/dev/peps/pep-0008/
喜欢学python的伙伴可以关注我的微信公众号“与C同行”