Pat*_*lva 15 python code-formatting
我知道 Black 是一个固执己见的格式化程序,但我喜欢它所做的一切,除了一件大事。当我有一个带有多个参数的函数时,而不是像这样显示它:
def example_function(arg_1: str, arg_2: bool, arg_3: int = 0, arg_4: int = 1, arg_5: float = 0.0):
pass
Run Code Online (Sandbox Code Playgroud)
为了便于阅读,我宁愿将其显示如下
def example_function(
arg_1: str,
arg_2: bool,
arg_3: int = 0,
arg_4: int = 1,
arg_5: float = 0.0
):
Run Code Online (Sandbox Code Playgroud)
这可以通过 Black 或其他格式化程序实现吗?我多次遇到这个问题,这让我考虑不使用黑色,无论是其他东西还是什么都不使用。任何想法或意见?
dam*_*mon 24
这是因为默认的行长度black比您希望的要长——每行 88 个字符。
要减少行长度,您可以使用--line-length此处记录的标志:
https://github.com/psf/black/blob/master/docs/installation_and_usage.md#command-line-options
例如:
$ black --line-length 80 example.py
Run Code Online (Sandbox Code Playgroud)
黑色--line-length在这里更详细地解释了设置:
https://github.com/psf/black/blob/master/docs/the_black_code_style.md#line-length
线长
您可能注意到了特殊的默认行长。黑色默认为每行 88 个字符,恰好超过 80 个字符的 10%。发现这个数字产生的文件比坚持使用 80(最流行的)甚至 79(由标准库使用)要短得多。总的来说,90-ish 似乎是明智的选择。
如果您按所编写的代码行付费,则可以通过
--line-length较低的数字。黑色会尽量尊重这一点。但是,有时它无法不违反其他规则。在极少数情况下,自动格式化的代码将超出您分配的限制。您也可以增加它,但请记住,有视力障碍的人发现处理超过 100 个字符的行变得更加困难。它还会对典型屏幕分辨率的并排差异审查产生不利影响。长行也使得在文档或谈话幻灯片中整齐地呈现代码变得更加困难。
强调最后一段。
我建议只保留默认设置。黑色的美妙之处在于它为你选择,因此抢占了关于哪种方式是“最好的”的任何争论。
小智 13
现在可以通过在最后一个参数中添加一个尾随逗号来实现。
在您的示例中,您将改为编写:
def example_function(
arg_1: str,
arg_2: bool,
arg_3: int = 0,
arg_4: int = 1,
arg_5: float = 0.0, # <-- Notice the trailing comma
):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17580 次 |
| 最近记录: |