鉴于:
e = 'a' + 'b' + 'c' + 'd'
以上两行怎么写?
e = 'a' + 'b' +
'c' + 'd'
网友回答:
来自 PEP 8 — Python 代码风格指南:
换行的首选方法是在括号、括号和大括号内使用 Python 的隐含行延续。通过将表达式括在括号中,可以将长行分隔为多行。这些应优先使用,而不是使用反斜杠进行行连续。
反斜杠有时可能仍然合适。例如,长而多的 with-语句不能使用隐式延续,因此反斜杠是可以接受的:
with open('/path/to/some/file/you/want/to/read') as file_1, open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read())
另一种情况是断言语句。
确保适当地缩进连续行。绕过二元运算符的首选位置是在运算符之后,而不是在运算符之前。一些例子:
class Rectangle(Blob): def __init__(self, width, height, color='black', emphasis=None, highlight=0): if (width == 0 and height == 0 and color == 'red' and emphasis == 'strong' or highlight > 100): raise ValueError("sorry, you lose") if width == 0 and height == 0 and (color == 'red' or emphasis is None): raise ValueError("I don't think so -- values are %s, %s" % (width, height)) Blob.__init__(self, width, height, color, emphasis, highlight)file_2.write(file_1.read())
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 代码中,允许在二进制运算符之前或之后中断,只要约定在本地保持一致即可。对于新代码,建议使用高德纳的风格。
[3]:Donald Knuth的The TeXBook,第195和196页
网友回答:
什么是线?您可以在下一行有参数,没有任何问题:
a = dostuff(blahblah1, blahblah2, blahblah3, blahblah4, blahblah5,
blahblah6, blahblah7)
否则,您可以执行以下操作:
if (a == True and
b == False):
或带有显式换行符:
if a == True and
b == False:
有关详细信息,请查看风格指南。
使用括号,您的示例可以写在多行上:
a = ('1' + '2' + '3' +
'4' + '5')
使用显式换行符可以获得相同的效果:
a = '1' + '2' + '3' +
'4' + '5'
请注意,样式指南说最好使用带有括号的隐式延续,但在这种特殊情况下,仅在表达式周围添加括号可能是错误的方法。
网友回答:
使用反斜杠结束一行的危险在于,如果在反斜杠之后添加空格(当然,这很难看到),反斜杠不再像您认为的那样。
请参阅 Python Idioms 和 Anti-Idioms(适用于 Python 2 或 Python 3)了解更多信息。
模板简介:该模板名称为【如何在 Python 中做换行符(换行)?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。