2011-11-25 19 views

Respuesta

4

Le recomiendo que eche un vistazo a PyDev. Si estructura bien su código de Python, será muy útil tener un esquema de documento y plegado de código. Lamentablemente, no creo que pueda hacer estructuras arbitrarias como #region C# (VS) o #pragma mark en C/C++/ObjC (Xcode/CDT).

+3

Nótese que en PyDev, si agregue un comentario que comience por: "# ---", ese comentario debería aparecer en el esquema para ayudarlo a estructurar las cosas (puede hacer ctrl + shift + 4 en una línea para agregar ese bloque de comentarios). –

+0

Es cierto.Todavía no es lo mismo que #region, pero de todos modos es muy útil. – Krumelur

18

Parece que PyCharm lo tiene, ver aquí: https://www.jetbrains.com/help/pycharm/2016.1/code-folding.html#using_folding_comments

Para los archivos de Python, las siguientes dos estilos son compatibles. No debe mezclar ambos en un solo archivo.

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

o

#region Description 
... 
#endregion 

Visual Studio acepta "región" también

+0

El enlace ya no es válido. ¿Algun consejo? – Zbun

+0

No se preocupe por el enlace, en PyCharm, simplemente use #region y #endregion – Zerubbabel

-4

sólo tiene que utilizar las clases ... no estoy seguro por qué esto es tan difícil

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

Esto proporcionará la estructura que está buscando. Probado y funciona desde Python 2.6

si no se ha utilizado clases en Python se les puede llamar al igual que lo hace en C#

x = MyNewClass() 
x.MyFirstMethod() 

Disfrute

+0

El uso de clase como este es más parecido a los espacios de nombres que las regiones. – winwaed

+1

No es una solución razonable. Tome el ejemplo de los modelos de django. Los modelos generalmente son muy gordos, con muchos datos y muchos métodos para actuar según esos datos. Una vez que un modelo alcanza un tamaño razonable, es una buena idea dividir los campos para que se sientan más cerca de sus métodos. Usar etiquetas plegables para resaltar las regiones es un uso perfecto. Ahora puedo identificar rápidamente dónde debo poner un nuevo método para hacer con la gestión estatal, un nuevo campo para hacer con la información de pago, etc. –

+0

Incluso con métodos estáticos o de clase, tendrá que escribir más para usar el método o la propiedad, con por ejemplo, tendrá que inicializar la clase. Entonces, para organizar la clase en regiones, ¿tendrás que tratar con 2 clases? – Dmitriy

8

Con Python Tools for Visual Studio puede utilizar:

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

Luego puede doblar las regiones de la misma manera que lo hace en C#.

2

En el texto sublime 3 sólo tiene que escribir un comentario y sangrar el código como si fuera bajo el comentario y luego se puede doblar como C#

# Region 
    (some code here...) 
1

Sí se puede en la misma manera como lo hicimos en C#, pero tenga en cuenta que esto es para PyCharm IDE ejemplo

#region Description 
... 
#endregion 

referencia here

-1

Para mantener PyCharm de quejándose de la PEP 8 violación usar

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

Lo sentimos, el editor cambió mi texto En PyCharm, para evitar el uso de advertencia PEP 8

# region region name here 

your code here 

# endregion 
+1

Debería haber editado su respuesta original en lugar de publicar una nueva. ¿Ves el botón "editar" debajo de esa respuesta original? – ndmeiri