我有一长串代码,我希望在多行之间分解.我使用什么,语法是什么?
例如,添加一串字符串,
e = 'a' + 'b' + 'c' + 'd'
Run Code Online (Sandbox Code Playgroud)
并将它分成两行:
e = 'a' + 'b' +
'c' + 'd'
Run Code Online (Sandbox Code Playgroud) 最近看到像这样的进口
from module import (function, another_function,
another_function)
Run Code Online (Sandbox Code Playgroud)
看起来这样做是为了能够import通过多行来扩展语句.在这种情况下,我通常只是这样导入
from module import function, another_function, \
another_function
Run Code Online (Sandbox Code Playgroud)
在这种情况下括号究竟做了什么,他们认为是不好的做法?
我对 PEP 8 中的样式有疑问(或将每行中的字符数减少到更小)。
考虑到我有book一堆不同的属性,我想将它们连接成一些字符串。
books = [book_1, book_2, book_3]
for b in books:
print("Thank you for using our Library! You have decided to borrow %s on %s. Please remember to return the book in %d calendar days on %s" %
(book.title, book.start_date, book.lend_duration, book.return_date"))
Run Code Online (Sandbox Code Playgroud)
如何缩短此行以确保其可读性?
任何想法都会有所帮助。PEP 8 只是一个想法。
Python需要缩进.那么,如何内联初始化复杂的嵌套对象?
我应该用一长串写它们
rewards = [[-0.04, -0.04, -0.04, -0.04], [-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]]
Run Code Online (Sandbox Code Playgroud)
或者我能以某种方式包装它们吗?
UPDATE
我的问题不是要打破长线,这显然是在文档中写的,而是在定义复杂的嵌套结构(例如列表的列表列表)时打破长行.我无法相信我们应该在这里使用行连续语法.
更新1
不,这不是重复.
我创建了一个常量,其中包含一些三角形的ASCII艺术,如下所示:
ascii_triangle =''' /\
/ \
/ \
/ \
/ \
/__________\ '''
Run Code Online (Sandbox Code Playgroud)
然后我用它作为函数的参数,所以我可以在函数中使用图片(以及其他一些ASCII艺术和其他参数).该功能并不重要,但问题是当我尝试使用它打印时
print(ascii_triangle)
Run Code Online (Sandbox Code Playgroud)
在函数内,输出如下:
/ / / / / /__________\
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它看起来像一个合适的三角形?
有很多关于 python 中的行延续的问题,例如这里,这里和这里,大多数指向指南。
连续行应该使用 Python 在括号、方括号和大括号内连接的隐式行垂直对齐包裹的元素,或者使用悬挂缩进
大多数细节都围绕着一个长if语句,如果调用一个函数,它可以使用括号或隐式延续。
这就引出了一个问题,你应该如何处理import陈述?具体来说,我还能做什么
from concurrent.futures import \
ProcessPoolExecutor
Run Code Online (Sandbox Code Playgroud)
行延续是我唯一的选择吗?
python ×6
syntax ×2
ascii-art ×1
import ×1
indentation ×1
line-breaks ×1
long-lines ×1
parentheses ×1
pep8 ×1
python-3.x ×1