Подтвердить что ты не робот

Разделение модуля Python на несколько регионов

В С# мы можем создавать регионы с помощью

#region
// some methods
#endregion

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

4b9b3361

Ответ 1

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

Ответ 2

Похоже, 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 также принимает "область"

Ответ 3

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

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

Затем вы можете складывать области так же, как на С#.

Ответ 4

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

#  region region name here
your code here
#  endregion

Ответ 5

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

# Region
    (some code here...)

Ответ 6

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

#region Description
...
#endregion

ссылка здесь

Ответ 7

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

#region some name
#Some very long code
#endregion

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

#region some name...

Ответ 8

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

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

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

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

x = MyNewClass()
x.MyFirstMethod()

Enjoy