Python - 写代码时过长该如何解决?

零下一度
零下一度 原创
2017-07-03 16:13:28 2433浏览

Python的编码规范要求每行的长度不超过80,那就就有一个问题,如果我真的需要在一行写80个字符以上的代码怎么办?

Python语句都可以很简单的实现把一行分为多行,比如下面这两种写法是等价的:

l = [1, 2, 3, 4, 5, 6]
l = [
1, 2, 3,
4, 5, 6
]

Python语句中一行过长的通过这种方法可以很容易地把一行写成多行,但是如果我就是有一个字符串长度就超过80个字符了咋办?

例如我有一个这样的字符串:

s = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras magna turpis, viverra et cursus eget, efficitur sed eros. Curabitur finibus ultricies nisi, nec convallis nunc gravida sed. Nam ac facilisis eros, quis tincidunt turpis. Vestibulum quis mi quis justo faucibus condimentum. Aliquam accumsan ultricies orci id mollis. Mauris faucibus dignissim luctus. Aenean lacus nunc, ultricies ac ante eu, fringilla accumsan nisi. Cras et nunc posuere, mattis mi at, rutrum felis. Etiam volutpat neque sodales condimentum consectetur.'

有人说Python不是有用三个引号包括的字符串吗?这样就可以写成多行了,例如这样:

s = """Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aliquam bibendum purus at nibh rutrum dapibus.
Aliquam quis sem sagittis, rutrum magna quis, gravida quam.
Sed porta ex nec leo elementum, a efficitur neque ornare.
Ut tristique nunc vitae ultrices molestie.
"""

但是这样写会带来一个问题那就是每一行都会在后面加一个换行符,如果我的字符串只有一行呢?这样做就不太合适了。

我认为比较好的方式有如下几种:

1. 在行末添加转义符

s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\
Aliquam bibendum purus at nibh rutrum dapibus.\
Aliquam quis sem sagittis, rutrum magna quis, gravida quam.\
Sed porta ex nec leo elementum, a efficitur neque ornare.\
Ut tristique nunc vitae ultrices molestie."

2. 使用圆括号隐式转换

s = ("Lorem ipsum dolor sit amet, consectetur adipiscing elit."
    "Aliquam bibendum purus at nibh rutrum dapibus."
    "Aliquam quis sem sagittis, rutrum magna quis, gravida quam."
    "Sed porta ex nec leo elementum, a efficitur neque ornare."
    "Ut tristique nunc vitae ultrices molestie.")
# 注意:行末没有逗号

个人觉得第一种方式虽然能解决问题但是过于丑陋,推荐使用第二种方法。

以上就是Python - 写代码时过长该如何解决?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。