Разделение модуля Python на несколько регионов - PullRequest
33 голосов
/ 25 ноября 2011

В C # мы можем создавать регионы, используя

#region
// some methods
#endregion

Есть ли способ отформатировать код Python таким же образом, чтобы я мог хранить все свои соответствующие методы в одном блоке?

Ответы [ 8 ]

41 голосов
/ 26 ноября 2013

Похоже, что 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 также принимает "регион"

11 голосов
/ 27 ноября 2015

С Python Tools для Visual Studio вы можете использовать:

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

Затем вы можете сложить регионы так же, как вы делаете на C #.

8 голосов
/ 25 ноября 2011

Я рекомендую вам взглянуть на PyDev . Если вы хорошо структурируете свой код Python, будет очень полезно иметь схему документа и свертывание кода. К сожалению, я не думаю, что вы можете создавать произвольные структуры, такие как #region C # (VS) или #pragma mark в C / C ++ / ObjC (Xcode / CDT).

6 голосов
/ 01 марта 2018

Чтобы PyCharm не жаловался на нарушение PEP 8, используйте

#  region region name here
your code here
#  endregion
1 голос
/ 27 мая 2017

Да, вы можете так же, как мы это делали в C #, но имейте в виду, что это для pycharm IDE Пример

#region Description
...
#endregion

ссылка здесь

1 голос
/ 16 февраля 2017

В возвышенном тексте 3 вы можете просто ввести комментарий и сделать отступ для своего кода, как если бы он был под комментарием, а затем вы можете сложить его так же, как C #

# Region
    (some code here...)
0 голосов
/ 21 апреля 2019

С помощью VS Code вы можете просто создавать такие регионы и даже добавлять имена для регионов:

#region some name
#Some very long code
#endregion

Затем его можно сложить в следующее:

#region some name...
0 голосов
/ 31 марта 2014

Просто используйте классы ... не знаю, почему это так сложно

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

Это обеспечит структуру, которую вы ищете. Протестировано и работает с Python 2.6

если вы не использовали классы в Python, вы можете вызывать их так же, как в c #

x = MyNewClass()
x.MyFirstMethod()

Наслаждайтесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...