簡體   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