将Python模块划分为多个区域

gsa*_*wal 36 python formatting

在C#中,我们可以使用创建区域

#region
// some methods
#endregion
Run Code Online (Sandbox Code Playgroud)

有没有办法以类似的方式格式化python代码,以便我可以将所有相关的方法保存在一个块中?

CSJ*_*CSJ 46

看起来PyCharm有它,请看这里:https://www.jetbrains.com/help/pycharm/2016.1/code-folding.html#using_folding_comments

对于Python文件,支持以下两种样式.您不应将它们混合在一个文件中.

#<editor-fold desc="Description">
...
#</editor-fold>
Run Code Online (Sandbox Code Playgroud)

要么

#region Description
...
#endregion
Run Code Online (Sandbox Code Playgroud)

Visual Studio也接受"区域"

  • 可以确认这也适用于 VS Code。以#region 开头并以#endregion 结尾 (4认同)
  • 在 VSCode 和 Pycharm 中使用它……太棒了!谢谢你! (3认同)
  • 不用担心链接,在PyCharm中,只需使用#region和#endregion (2认同)
  • 遗憾的是,看来重新格式化者 Black 不喜欢这两种语法,并且在两种情况下都在“#”后面插入了一个空格 (2认同)
  • PyCharm 似乎可以很好地处理“#”后面的空格。 (2认同)

Dar*_*nas 12

使用Visual Studio的Python工具,您可以使用:

#region My Block of Code
def f1():
    pass
def f2():
    pass
#endregion
Run Code Online (Sandbox Code Playgroud)

然后,您可以像在C#上一样折叠区域.


Tom*_*zik 9

使用 VS Code,您可以简单地创建这样的区域,甚至可以为区域添加名称:

#region some name
#Some very long code
#endregion
Run Code Online (Sandbox Code Playgroud)

然后可以折叠成以下内容:

#region some name...
Run Code Online (Sandbox Code Playgroud)

  • @DarienPardina 的答案是关于 Visual Studio 的,我的答案是关于 VS Code 的。但你可能是对的,需要 Python 的 VS Code 扩展 https://marketplace.visualstudio.com/items?itemName=ms-python.python (2认同)

Kru*_*lur 8

我建议你看看PyDev.如果您很好地构建Python代码,那么拥有文档大纲和代码折叠将非常有用.不幸的是,我不认为你可以在C/C++/ObjC(Xcode/CDT)中使用#region C#(VS)或#pragma mark这样的任意结构.

  • 请注意,在PyDev中,如果添加以"#---"开头的注释,该注释应该出现在轮廓中以帮助您构建事物(您可以在一行上执行ctrl + shift + 4来添加该注释块) . (3认同)
  • 实际上,我发现VSCode中的#region和#endregion也相当不错。 (2认同)

小智 7

为了避免PyCharm抱怨使用PEP 8违规

#  region region name here
your code here
#  endregion
Run Code Online (Sandbox Code Playgroud)