让你的代码续行变得轻松与优雅

让你的代码续行变得轻松与优雅

在写代码的时候往往会遇到一行要写很多字符的状况,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同行”
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值