资讯专栏INFORMATION COLUMN

Python - 我写代码时如果有一行过长该怎么处理?

GT / 1491人阅读

摘要:我认为比较好的方式有如下几种在行末添加转义符使用圆括号隐式转换注意行末没有逗号个人觉得第一种方式虽然能解决问题但是过于丑陋,推荐使用第二种方法。

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.")
# 注意:行末没有逗号

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44447.html

相关文章

  • Emoji的编码以及常见问题处理

    摘要:题外话补充一点是一种字符编码方法,它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。带有的字符串截取在这类编程语言中一个中文字符的长度为,但是对大部分的并非全部取长度则是。 我在虎嗅上看过一篇关于Emoji的趣闻, 特别有意思, 在这里跟大家分享一下。里面提到了Emoji是怎么诞生的。 1999年前后,日本一个名叫栗田穰崇的年轻人,和许多直男一样, 给女友发的短信经常会被误解。...

    wemall 评论0 收藏0
  • Python基础语法

    摘要:当文件执行完成后,解释器不再有效。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。空行与代码缩进不同,空行并不是语法的一部分。 交互式编程 交互式编程不需要创建py文件,是通过 Python 解释器的交互模式进来编写代码,cmd进入在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: C:UsersAdministrator>py...

    teren 评论0 收藏0
  • CSS 文本控制

    摘要:学习一些文本控制的属性,防止做傻事。是的升级版,当单行文本过长,超过文本边界时自动换行。否则,文本仍然左对齐。 one more time one more chance. 一歩重头学前端, css入门。 学习一些 CSS 文本控制的属性,防止做傻事。请大家对照下面列表检验下: 会的、不会的、似懂非懂的。笔者是一个也不会。 white-space text-overflow: ell...

    Taonce 评论0 收藏0
  • 一个 Reentrant Error 引发的对 Python 信号机制的探索和思考

    摘要:倘若该回答是正确的,则立即有如下推论在处理信号的过程中,字节码具有原子性。因此,除了在两个字节码之间,应该还有其他时机唤起了。行的是信号处理函数的最外层包装,由系统调用或注册至内核,并在信号发生时被内核回调,是异常控制流的入口。 写在前面 前几天工作时遇到了一个匪夷所思的问题。经过几次尝试后问题得以解决,但问题产生的原因却仍令人费解。查找 SO 无果,我决定翻看 Python 的源码。...

    shiguibiao 评论0 收藏0
  • Python入门-第一章Python基础

    摘要:例后的为比特值表示为真代码的缩进量缩进等级不同会导致代码语义的改变,语言要求的是同一代码块的每一行代码必须具有相同的缩进量。例后的为比特值表示为真我以刚才的代码为基础,不规范缩进后运行,会出现上图相应的错误提示。  hello,程序猿们,我是挪威森林的水手,从此篇文章开始,我将和大家一起从0...

    shiguibiao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<