繁体   English   中英

如何将 Python 代码组织成可折叠/可展开的块?

[英]How to organize Python code into collapsable / expandable chunks?

在 Pycharm 中,有一个“代码结构”侧栏,它提供了一个树来浏览代码,但是,它仅在代码具有类、方法和对象时才有用。 如果代码中没有这些内容,那么它就毫无用处。 我的问题是:有什么方法可以让我确定这是一个块,并且我希望能够折叠它并展开它? 类似于 Jupyter 的东西,其中代码本质上被划分为单元格。

目前,我正在这样做:

# ---------------------------------- chunck x blah blah -----------------------

编辑:大多数评论都说我很笨,我不知道如何有效地编码,我应该使用函数和类。 伙计们,我知道如何使用这些,这不是我的问题。 谢谢。

当启用“科学模式”时,PyCharm允许您定义“代码单元”。 这些代码单元是可折叠和可扩展的。 引用PyCharm网站

“代码单元”是一行代码,可以在集成的Python控制台中一次全部执行。 您只需在常规Python文件中添加内嵌注释#%%即可定义单元格。 PyCharm会检测到这些注释,并在左侧装订线中显示一个特殊的运行图标。 单击此图标将触发单元的执行:

在此处输入图片说明

唯一的问题是,科学模式及其代码单元功能仅在PyCharm Professional Edition中可用。

原来答案很简单:选择代码,单击鼠标右键,进行自定义折叠

在此处输入图片说明

我有时会使用True条件语句在 PyCharm 和其他 IDE 中创建可折叠块。 这也有助于我直观地关联所有缩进的代码,在需要时访问它,并在我专注于代码的其他部分时折叠它。

if True:
   # block code goes here

更好的方法是在条件中使用描述性字符串。 描述对于折叠块保持可见。 如果需要,您也可以随时使用否定来禁用这些。

if 'Define similarities':
    Dot = lambda x, y: x @ y
    CosSim = lambda x, y: x @ y / (x @ x)**0.5 / (y @ y)**0.5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM