Python代码:
def long_long_long_long_long_long_long_long_long_long_long_long_func(arg: list): ...
long_long_long_long_long_long_long_long_long_long_long_name = (
long_long_long_long_long_long_long_long_long_long_long_long_func(
arg=[
"long_long_long_long_long_long_long_long_long_long_long_string",
"long_long_long_long_long_long_long_long_long_long_long_string",
]
)
)
黑色之后,什么都没有改变。那就好啦。
Python代码:
def long_long_long_long_long_long_long_long_long_long_long_long_func(arg: list): ...
long_long_long_long_long_long_long_long_long_long_long_name = (
long_long_long_long_long_long_long_long_long_long_long_long_func(
arg=[
"long_long_long_long_long_long_long_long_long_long_long_string",
# a comment
"long_long_long_long_long_long_long_long_long_long_long_string",
]
)
)
天黑后,我到了下面。这显然不是我想要的。
def long_long_long_long_long_long_long_long_long_long_long_long_func(arg: list): ...
long_long_long_long_long_long_long_long_long_long_long_name = long_long_long_long_long_long_long_long_long_long_long_long_func(
arg=[
"long_long_long_long_long_long_long_long_long_long_long_string",
# a comment
"long_long_long_long_long_long_long_long_long_long_long_string",
]
)
出现此问题的原因是 Black 试图遵守其关于行长度和格式的严格规则,即使它有时会以与您期望的方式不同的方式分割行。在您的情况下,问题在于 Black 将注释视为重新格式化该行的信号,这与没有注释时不同。
目前,Black 没有提供一种方法来在涉及注释时保持您想要的括号缩进样式。
如果您想保持原始格式样式,可以使用 Black 的
# fmt:off
和 # fmt:on
指令。
这是代码。
# fmt: off
def long_long_long_long_long_long_long_long_long_long_long_long_func(arg: list): ...
long_long_long_long_long_long_long_long_long_long_long_name = (
long_long_long_long_long_long_long_long_long_long_long_long_func(
arg=[
"long_long_long_long_long_long_long_long_long_long_long_string",
# a comment
"long_long_long_long_long_long_long_long_long_long_long_string",
]
)
)
# fmt: on
希望这对你有一点帮助。