2011-11-25 517 views
20

在C#中,我們可以通過使用劃分Python模塊成多個區域

#region 
// some methods 
#endregion 

有什麼辦法來格式化以類似的方式Python代碼,這樣我可以把我所有的相關方法在一個塊創建的區域?

回答

4

我建議你看看PyDev。如果你很好地構建你的Python代碼,那麼有一個文檔大綱和代碼摺疊將是非常有用的。不幸的是我不認爲你可以在C/C++/ObjC(Xcode/CDT)中執行像#region C#(VS)或#pragma標記這樣的任意結構。

+3

注意,在PyDev的,如果你添加一個以「#---」開頭的註釋,該註釋應該出現在大綱中以幫助您構建事物(您可以在一行上按Ctrl + Shift + 4添加該註釋塊)。 –

+0

是的。仍然不同於#region,但無論如何非常有用。 – Krumelur

18

看起來PyCharm有它,在這裏看到:https://www.jetbrains.com/help/pycharm/2016.1/code-folding.html#using_folding_comments

對於Python文件,以下兩種風格的支持。你不應該把它們混在一個文件中。

#<editor-fold desc="Description"> 
... 
#</editor-fold> 

#region Description 
... 
#endregion 

的Visual Studio接受 「區域」 太

+0

鏈接無效。有小費嗎? – Zbun

+0

不要擔心PyCharm中的鏈接,只需使用#region和#endregion – Zerubbabel

-4

只需使用類...不知道爲什麼會這樣難

class MyNewClass: 
    def MyFirstMethod(self): 
     print("MyFirstMethod in MyFirstClass") 

這將提供結構你正在尋找。經過測試,如果你還沒有使用的類在Python中,你可以多叫他們像你一樣在C#做

x = MyNewClass() 
x.MyFirstMethod() 

享受

+0

這樣的類使用比名稱空間更類似於區域。 – winwaed

+1

不合理的解決方案。以django的模型爲例。模型通常很胖,有大量的數據,並有很多方法可以處理這些數據。一旦模型達到合理的大小,將分區放置在靠近其方法的位置是個不錯的主意。使用摺疊標籤突出顯示區域是一個完美的使用。現在,我可以快速確定應該在哪裏放置新的狀態管理方法,支付信息等方面的新方法。 –

+0

即使使用靜態或類方法,您也必須鍵入更多以使用方法或屬性實例你將不得不初始化類。那麼爲了在地區組織班級,你將不得不處理兩個班級? – Dmitriy

8

隨着Python Tools for Visual Studio可以使用因爲Python 2.6

工作:

#region My Block of Code 
def f1(): 
    pass 
def f2(): 
    pass 
#endregion 

然後,您可以像在C#上一樣摺疊區域。

2

在崇高的文本3,你可以簡單地輸入一個註釋,縮進代碼,就好像是在註釋,然後你可以把它摺疊就像C#

# Region 
    (some code here...) 
1

是的,你可以在同樣的方式,因爲我們沒有在C#中,但請記住,這是pycharm IDE 例如

#region Description 
... 
#endregion 

參考here

-1

爲了保持PyCharm從抱怨PEP 8違規使用

#region Start Comment for region 
    your code here 
#endregion 
0

對不起,編輯器改變了我的文字 在PyCharm,防止PEP 8警告使用

# region region name here 

your code here 

# endregion 
+1

您應該編輯了原始答案,而不是發佈新答案。你看到原始答案下面的「編輯」按鈕嗎? – ndmeiri