语法 - 如何在Python中执行换行符(换行符)?

我有一长串代码,我希望在多行之间分解。 我使用什么,语法是什么?

例如,添加一串字符串,

e = 'a' + 'b' + 'c' + 'd'

并将它分成两行:

e = 'a' + 'b' +

'c' + 'd'

7个解决方案

960 votes

什么是线? 你可以在下一行有参数而没有任何问题:

a = dostuff(blahblah1, blahblah2, blahblah3, blahblah4, blahblah5,

blahblah6, blahblah7)

否则你可以这样做:

if a == True and \

b == False

查看样式指南以获取更多信息。

从您的示例行:

a = '1' + '2' + '3' + \

'4' + '5'

要么:

a = ('1' + '2' + '3' +

'4' + '5')

请注意,样式指南表示使用括号的隐式延续是首选,但在这种特殊情况下,只是在表达式周围添加括号可能是错误的方法。

Harley Holcombe answered 2018-12-23T13:31:08Z

184 votes

从Python代码的样式指南:

包装长行的首选方法是在括号,括号和括号内使用Python隐含的行继续。 通过在括号中包装表达式,可以在多行上分割长行。 这些应该优先使用反斜杠来继续行。

反斜杠有时可能仍然合适。 例如,long,多个with语句不能使用隐式延续,因此可以接受反斜杠:

# Yes: easy to match operators with operands

income = (gross_wages

+ taxable_interest

+ (dividends - qualified_dividends)

- ira_deduction

- student_loan_interest)

另一个这样的情况是使用断言语句。

确保适当地缩进续行。 打破二元运算符的首选位置是运算符之后,而不是它之前。 一些例子:

# Yes: easy to match operators with operands

income = (gross_wages

+ taxable_interest

+ (dividends - qualified_dividends)

- ira_deduction

- student_loan_interest)

编辑:PEP8现在推荐数学家及其出版商使用的相反惯例(用于打破二进制操作)以提高可读性。

Donald Knuth在二元运算符之前的破坏风格垂直对齐运算符,从而在确定添加和减去哪些项目时减少了眼睛的工作量。

从PEP8开始:如果在二元运算符之前或之后换行?:

Donald Knuth在他的计算机和排版系列中解释了传统规则:“虽然段落中的公式总是在二元运算和关系之后中断,但显示的公式总是在二元运算之前中断”[3]。

遵循数学传统通常会产生更易读的代码:

# Yes: easy to match operators with operands

income = (gross_wages

+ taxable_interest

+ (dividends - qualified_dividends)

- ira_deduction

- student_loan_interest)

在Python代码中,只要约定在本地一致,就允许在二元运算符之前或之后中断。 对于新代码,建议使用Knuth的样式。

[3]:Donald Knuth的The TeXBook,第195和196页

jfs answered 2018-12-23T13:32:32Z

61 votes

使用反斜杠结束一行的危险在于,如果在反斜杠之后添加空格(当然,很难看到),则反斜杠不再按照您的想法进行操作。

有关更多信息,请参阅Python Idioms和Anti-Idioms(适用于Python 2或Python 3)。

George V. Reilly answered 2018-12-23T13:32:57Z

21 votes

您可以在括号和大括号之间划分线条。 此外,您可以将反斜杠字符\附加到一行以显式断开它:

x = (tuples_first_value,

second_value)

y = 1 + \

2

Konrad Rudolph answered 2018-12-23T13:33:17Z

20 votes

将\放在行尾或将该语句括在parens ( .. )中。来自IBM:

b = ((i1 < 20) and

(i2 < 30) and

(i3 < 40))

要么

b = (i1 < 20) and \

(i2 < 30) and \

(i3 < 40)

SCdF answered 2018-12-23T13:33:41Z

17 votes

从马的口:明确的线  加盟

可以是两条或更多条物理线   加入逻辑行使用   反斜杠字符(if 1900 < year < 2100 and 1 <= month <= 12 \

and 1 <= day <= 31 and 0 <= hour < 24 \

and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date

return 1),如下:   当物理线路以a结尾时   反斜杠不是字符串的一部分   文字或评论,它与之相结合   以下形成单一逻辑   行,删除反斜杠和   跟随行尾字符。 对于   例:

if 1900 < year < 2100 and 1 <= month <= 12 \

and 1 <= day <= 31 and 0 <= hour < 24 \

and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date

return 1

以反斜杠结尾的行不能   发表评论。 反斜杠不会   继续发表评论。 反斜杠确实如此   除了字符串,不要继续使用令牌   文字(即除了之外的标记)   字符串文字不能拆分   物理线路使用反斜杠)。 一个   反斜杠在其他地方是非法的   在字符串文字之外的行。

Jason Navarrete answered 2018-12-23T13:34:15Z

-1 votes

可能不是pythonic方式,但我通常使用带有join函数的list来编写像SQL查询这样的长字符串。

query = " ".join([

'SELECT * FROM "TableName"',

'WHERE "SomeColumn1"=VALUE',

'ORDER BY "SomeColumn2"',

'LIMIT 5;'

])

Hardik Sondagar answered 2018-12-23T13:34:36Z

python中换行符怎么写_语法 - 如何在Python中执行换行符(换行符)?相关推荐

  1. python中声明变量注意事项_我们如何在Python中声明变量?

    简短的答案是,无需在Python中声明变量. 以下是更详细的描述. 静态类型语言(C,C ++,Java,C#)要求在程序中使用变量之前,必须先声明要使用的变量的名称和类型声明.相应的语言编译器确保将 ...

  2. python如何通过以太网发送指令_我如何在python中发送原始以太网帧

    我需要在几天内完成一个项目,它是一个基本的客户端和服务器接口.问题是它需要是所有原始套接字.我没有创建它的问题,我只是坚持发送数据包. 首先,我尝试将它绑定到接口'en1′,但它一直给我一个错误的节点 ...

  3. 在python中_语法-和在Python中是什么意思?

    语法->>和<<在Python中是什么意思? 我注意到我可以做类似>>来获取64和2703832377952044044033来获取250的操作. 我也可以在pri ...

  4. python中意外缩进是什么意思_语法错误 - 如何处理python中的“意外缩进”?

    语法错误 - 如何处理python中的"意外缩进"? 如何纠正python中的"意外缩进"错误? 15个解决方案 116 votes Python在行的开头使用 ...

  5. python中filepath路径怎么写_详解Python中的路径问题

    1. 绝对路径引入 Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止.下面命令可以查看当前的搜索路径: import sys print(sys.path) sys.pa ...

  6. python shell怎么改字体颜色_在shell或者perl中改变字体或背景的颜色

    在shell下提到终端的颜色的时候不得不提到几个提示符变量: PS1:默认提示符,也就是远程登上系统之后,打开终端,我们天天见到的那个熟悉的提示符: [root@vps ~]$echo $PS1 [\ ...

  7. python接口测试非json的断言_荐在接口自动化测试中,如何利用Pytest + JSONPath 进行接口响应断言...

    之前有一篇文章,介绍了如何使用JSONSchema对接口响应进行断言,主要的适用场景是对响应的数据结构进行校验,保证客户端收到的数据结构稳定和合法.今天,介绍使用JSONPath对接口响应的值进行断言 ...

  8. python中的画布背景设置_教你用python画图—Turtle详细教程

    Turtle模块绝对是吸引非专业代码开发者人员学习python入门的好工具 通过turtle几行代码的执行软件就会画出漂亮的图形,美观而且有成就感,这样一下子对python编程就产生了兴趣. 这些漂亮 ...

  9. 属于python语言中合法的二进制整数是_以下选项属于 Python 整数类型的是( )

    [单选题]3*1**3 表达式输出结果为________ [多选题]以下的布尔代数运算正确的是( ) [单选题]下列________不是Python的数据类型. [单选题]下列不是Python语言关键 ...

最新文章

  1. flume自定义Interceptor
  2. Linux 调度器内幕
  3. Spring+Redis整合
  4. Web Storage API的介绍和使用
  5. 在 Visual Studio 2010 中创建 ASP.Net Web Service
  6. stl取出字符串中的字符_从C ++ STL中的字符串访问字符元素
  7. 微机计算机原理姚向华课后答案,微型计算机操作系统
  8. python 魔术方法
  9. 信息学奥赛C++语言:插队问题
  10. python itemgetter函数用法_Python itemgetter函数怎么用?
  11. html引入html include_PostgreSQL引入插件EXTENSION的常用方法
  12. linux 系统开启火狐命令_linux安装火狐命令
  13. 基于stm32f401的双按键可视化多模式选择模块
  14. 查看微信好友男女比例
  15. iOS 多线程GCD
  16. 基于Sentinel-1的干涉相干性特征生成
  17. TCP系列43—拥塞控制—6、Congestion Window Validation(CWV)
  18. centos 7系统Give root password for maintenance解决办法
  19. 为什么域名根服务器只能有13台呢?
  20. bzoj1853 [Scoi2010]幸运数字

热门文章

  1. 随记一(独夜,十年)
  2. 稀疏连接( sparse connectivity)
  3. mysql未定义_以mysql_开始的未定义引用错误_MySQL
  4. 机器学习方法(四):决策树Decision Tree原理与实现技巧
  5. 三个小技巧快速提高演讲口才
  6. 64位java安装包_工欲善其事必先利其器,java开发利器
  7. laravel guzzle 使用
  8. 拼多多买家评论了,为什么不显示评论,不显示评论的原因有哪些?
  9. 湘潭校赛 Hard Wuxing
  10. 基于复旦微FMQL45T900 全国产ARM+FPGA核心板方案