Articles of coding style

¿Cómo configurar PyLint para verificar todas las comprobaciones de PEP8?

La búsqueda de una respuesta en la lista de correo de PyLint no produce resultados interesantes. Se sabe que PyLint es muy personalizable, así que supongo que esto debería ser posible … La razón por la que me gustaría que PyLint verifique el cumplimiento con PEP8 es porque PyDev tiene un soporte mucho mejor para […]

Comportamiento asimétrico para __getattr__, newstyle vs oldstyle classes

esta es la primera vez que escribo aquí, disculpe si el mensaje no está enfocado o es demasiado largo. Me interesaba comprender más acerca de cómo se obtienen los atributos de los objetos cuando es necesario. Así que leí la documentación de Python 2.7 titulada “Modelo de datos” aquí , conocí a __getattr__ y, para […]

Cómo hacer una cascada concisa a través de múltiples declaraciones de expresiones regulares en Python

Mi dilema: estoy pasando a mi función una cadena que necesito para luego realizar numerosas manipulaciones de expresiones regulares. La lógica es que si hay una coincidencia en la primera expresión regular, haga una cosa. Si no hay coincidencia, busque una coincidencia con la segunda y haga otra cosa, si no comprueba la tercera, y […]

La documentación de Tkinter está en contradicción con PEP8

PEP 8 estados Deben evitarse las importaciones de comodines (de importación *), ya que no dejan claro qué nombres están presentes en el espacio de nombres, lo que confunde a los lectores y a muchas herramientas automatizadas. No obstante la documentación oficial es contradictoria: para usar Tkinter todo lo que necesita es una simple statement […]

invocando pylint programáticamente

Me gustaría invocar el comprobador de pylint, limitado a la parte de señalización de error, como parte de la prueba de mi unidad. así que verifiqué el script ejecutable pylint, llegué a la clase pylint.lint.Run helper y allí me perdí en una función __init__ bastante larga, que terminó con una llamada a sys.exit() . ¿Alguna […]

Continuación de línea para listas de comprensión o expresiones generadoras en python

¿Cómo se supone que debes romper una lista muy larga de comprensión? [something_that_is_pretty_long for something_that_is_pretty_long in somethings_that_are_pretty_long] También he visto en algún lugar que a las personas que no les gusta usar ‘\’ para romper líneas, pero nunca entendieron por qué. Cuál es la razón detrás de esto?

¿Debo usar `import os.path` o` import os`?

Según la documentación oficial , os.path es un módulo. Por lo tanto, ¿cuál es la forma preferida de importarlo? # Should I always import it explicitly? import os.path O… # Is importing os enough? import os Por favor NO contestes “la importación os funciona para mí”. Lo sé, también me funciona en este momento (a […]

Pythonic: rango vs enumerar en python para bucle

¿Podría decirme por qué se considera “no python” cuando necesito el índice y el valor cuando se repite en una lista y se usa: a = [1,2,3] for i in range(len(a)): # i is the idx # a[i] is the value sino que se recomienda usar for idx, val in enumerate(a): print idx, val ¿Quién […]

Python cierre la pregunta del descriptor de archivo

Creo que esta pregunta es más un “estilo de encoding” en lugar de un problema técnico. Dijo que tengo una línea de código: buf = open(‘test.txt’,’r’).readlines() … ¿Se cerrará automáticamente el descriptor de archivo, o se quedará en la memoria? Si el descriptor de archivo no está cerrado, ¿cuál es la forma preferida de cerrarlo?

¿Qué tan malo es el sombreado de los nombres definidos en ámbitos externos?

Acabo de cambiarme a Pycharm y estoy muy contento con todas las advertencias y sugerencias que me brinda para mejorar mi código. Excepto por este que no entiendo: This inspection detects shadowing names defined in outer scopes. Sé que es una mala práctica acceder a la variable desde el ámbito externo, pero ¿cuál es el […]