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

2023-11-19

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • protobuf对象 转为Json串写入elastic search遇到的问题总结

    背景 从kafka中消费数据后拿到的是protobuf序列化后的字节数组 转化为Java中的proto对象后 需要将这些protocol对象继续处理成Json串写入elasticsearch 各种问题 Json工具选择 刚开始尝试使用fas
  • Failed to convert property value of type 'java.lang.String' to required type 'int' for property

    junit Spring 测试Service org springframework beans TypeMismatchException Failed to convert property value of type java lan
  • Django ORM中常用字段类型与参数

    ORM中常用字段类型与参数 在ORM中一个模型类对应的是数据库中的一张表 对象对应的是数据库中的记录 属性则对应的是字段 此篇为章主要整理的是常用的字段类型和对应的参数 字段类型 1 自增长字段 自增长 id models AutoFiel
  • 详述Java三种注释方法及实例说明

    1 注释方法汇总 实例说明在第二部分 1 1单行注释 1 符号 2 注释范围 从符号 开始 到本行结束 3 快捷键 Ctrl Ctrl 和 的组合 选中要注释的内容 按 Ctrl 便可 同时单行注释多行内容 若想多个同个取消 则选中 以及单
  • Linux的静态库和动态库

    库从本质上来说是一种可执行代码的二进制格式 可以被载入内存中执行 库分静态库和动态库两种 静态库和动态库的区别 1 静态函数库 这类库的名字一般是libxxx a 利用静态函数库编译成的文件比较大 因为整个 函数库的所有数据都会被整合进目标
  • J-Flash中添加MDK制作的QSPI Flash下载算法方法

    在JLINK的电脑端驱动V6 84a上测试的 1 MDK的QSPI Flash下载算法制作方法和制作好的算法看教程第80章和配套的例子即可http www armbbs cn forum php mod viewthread tid 869
  • 蹭热点:白的不能再白的Github Pages部署教程

    最近最热点的新闻无疑是微软收购 世界上最大的同性交友网站 Github了 作为一个程序单身狗 我也来蹭蹭热点 正好花了半天时间学了一下怎么构建Github Pages 没看错 我也是现学的 然后才发现原来Github还有这么NB好用的功能
  • Linux(一): 系统操作命令与组成

    目录 命令格式 一 常用操作以及概念 快捷键 求助 1 help 2 man 3 info 4 doc 关机 1 who 2 sync 3 shutdown PATH sudo 包管理工具 1 发行版 VIM 三个模式 1 离开或保存 GN
  • python3.8动态人脸识别

    一 准备依赖库 pip install dlib pip python opencv 二 代码实现 coding utf 8 从视屏中识别人脸 并实时标出面部特征点 import dlib 人脸识别的库dlib import cv2 图像处
  • 保姆级使用PyTorch训练与评估自己的ConvNeXt网络教程

    文章目录 前言 0 环境搭建 快速开始 1 数据集制作 1 1 标签文件制作 1 2 数据集划分 1 3 数据集信息文件制作 2 修改参数文件 3 训练 4 评估 5 其他教程 前言 项目地址 https github com Fafa D
  • 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso)

    文章目录 一 CLIP 1 1 简介 1 1 1 前言 1 1 2 模型结构 1 1 3 模型效果 1 1 3 1 对自然分布偏移的鲁棒性 1 1 3 2 StyleCLIP 1 1 3 3 CLIPDraw 1 1 3 4 zero sh
  • 数据分析实战(数据采集与整理)

    1 数据的可分析度 我们需要判断这个数据的分析是否是有价值的 在可分析度方面 需要一些判断的维度 主要是企业数据量 数据复杂度还有数据颗粒度 数据量比较大的 复杂度比较高的 颗粒度比较细的数据 就有比较高的分析和利用价值 衡量数据复杂度我们
  • C移植到Java中,byte[]与其他数据类型的转换

    最近在把C代码移植到Java Android 中 C中一般的数据都会使用byte unsigned char 来存储 且位操作特别频繁 我要把这些数据转换成在Java存储 或把byte转换成本语言的其他类型 掉进不少坑 这里 总结下这段时间
  • < 开源项目框架:推荐几个开箱即用的开源管理系统 - 让开发不再复杂 >

    文章目录 SCUI Admin 中后台前端解决方案 Vue NetCore 前后端分离的快速发开框架 next admin 适配移动端 pc的后台模板 django vue admin pro 快速开发平台 Admin NET 通用管理平台
  • copy to clipboard

    export function copyToClipboard textToCopy string if navigator clipboard window isSecureContext secure return navigator
  • ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象

    使用Ajax更新ASP Net MVC项目中的报表对象 Ajax技术显著加快了Web应用程序的速度 另外 视觉效果方面也有提升 大家都同意 每次点击按钮时整个页面都会被刷新这一点不太友好 如果你的网速不是很快 那么这个过程会很烦人 因为所有
  • 使用MicroPython开发ESP32(02):库介绍

    文章目录 目的 库基础说明 库列表 Python基础库 嵌入式设备相关库 ESP32特有库 总结 目的 对于Python来说丰富的库是其使用快速简易的关键 这点对于MicroPython也一样 这篇文章就对MicroPython的库做个罗列
  • Python-模块与包(通俗易懂)

    1 模块 1 模块的理解 模块就是一个包含了Python定义和声明的 py 文件 python导入模块默认是从当前目录当前文件查找模块 注意 自定义的python文件的文件名一定不要和已有模块名冲突 定义一个hello py文件 我们可以在
  • 14个SpringBoot优化小妙招,看完后同事说写代码像写诗!

    大家好 我是东哥 每次聊到代码优化 都会有很多人说理论 架构 核心思路 其实我觉得代码优化这事说简单了很简单 说复杂了吧它也有一定的难度 但是我觉得有一个良好的编码习惯很重要 下面分享一下14个springboot项目中优化代码的小技巧 让
  • Python - 我写代码时如果有一行过长该怎么处理?

    Python的编码规范要求每行的长度不超过80 那就就有一个问题 如果我真的需要在一行写80个字符以上的代码怎么办 Python语句都可以很简单的实现把一行分为多行 比如下面这两种写法是等价的 l 1 2 3 4 5 6 l 1 2 3 4