Articles of código de

Idioma para desempaquetar tupla larga

Escenario: tiene una tupla larga como resultado de una consulta SQL y desea descomprimirla en valores individuales. ¿Cuál es la mejor manera de hacerlo mientras se ajusta a PEP8? Hasta ahora tengo estas tres opciones: asignación única, use la barra invertida para dividir en varias líneas person_id, first_name, last_name, email, \ birth_date, graduation_year, home_street, \ […]

Excluyendo propiedades abstractas de los informes de cobertura.

Tengo una clase base abstracta a lo largo de las líneas de: class MyAbstractClass(object): __metaclass__ = ABCMeta @abstractproperty def myproperty(self): pass Pero cuando ejecuto pruebas de detección (qué cobertura) en mi proyecto, se queja de que la línea de definición de propiedad no está probada. En realidad, no se puede probar (AFAIK), ya que la […]

¿Es una buena práctica agregar nombres a __all__ usando un decorador?

¿Es esta una buena práctica en Python (de Active State Recipes – Public Decorator )? import sys def public(f): “””Use a decorator to avoid retyping function/class names. * Based on an idea by Duncan Booth: http://groups.google.com/group/comp.lang.python/msg/11cbb03e09611b8a * Improved via a suggestion by Dave Angel: http://groups.google.com/group/comp.lang.python/msg/3d400fb22d8a42e1 “”” all = sys.modules[f.__module__].__dict__.setdefault(‘__all__’, []) if f.__name__ not in all: […]

¿La notación de puntos del estilo de Javascript para las claves de diccionario no es un tono?

He empezado a usar construcciones como estas: class DictObj(object): def __init__(self): self.d = {} def __getattr__(self, m): return self.d.get(m, None) def __setattr__(self, m, v): super.__setattr__(self, m, v) Actualización: basado en este hilo, he revisado la implementación de DictObj para: class dotdict(dict): def __getattr__(self, attr): return self.get(attr, None) __setattr__= dict.__setitem__ __delattr__= dict.__delitem__ class AutoEnum(object): def __init__(self): […]

Herramienta para hacer cumplir los estándares / estilo de código de Python

Estoy tratando de encontrar una herramienta para verificar el estilo de encoding en Python. Para PHP, he visto que existe el Code Sniffer y un pequeño script de Perl utilizado por Drupal. ¿Existe tal herramienta para el código de python?

En Python, ¿debería usar else después de una devolución en un bloque if?

Primero, no pude encontrar una respuesta a esto en PEP 8 . Eso no significa que no esté allí. Siéntete libre de señalarme. ¿Qué estilo prefieres? El primero : if spam: # Do stuff. return eggs else: # Maybe do other stuff. return parrots o el segundo : if spam: # Do stuff. return eggs […]

Formato de alineación decimal en Python

Esto debería ser fácil. Aquí está mi matriz (más bien, un método para generar matrices de prueba representativas): >>> ri = numpy.random.randint >>> ri2 = lambda x: ”.join(ri(0,9,x).astype(‘S’)) >>> a = array([float(ri2(x)+ ‘.’ + ri2(y)) for x,y in ri(1,10,(10,2))]) >>> a array([ 7.99914000e+01, 2.08000000e+01, 3.94000000e+02, 4.66100000e+03, 5.00000000e+00, 1.72575100e+03, 3.91500000e+02, 1.90610000e+04, 1.16247000e+04, 3.53920000e+02]) Quiero una lista […]

Ignorando archivos vacíos del informe de cobertura

cobertura.py incluirá init .py en su informe y lo mostrará como 0 líneas, pero con una cobertura del 100%. Quiero excluir todos los archivos en blanco del informe de cobertura. No puedo agregar */__init__.py para omit ya que algunos de mis archivos __init__.py tienen código.

¿Cómo puedo obtener datos de cobertura de código de las pruebas funcionales de Python BDD utilizando Behave?

No he visto una respuesta para esta pregunta específica ( herramienta de cobertura de prueba para el marco de prueba Behave ) y no he visto ningún resultado de búsqueda de Google que produzca una respuesta suficiente. Por lo tanto… ¿Cómo puedo obtener un informe de cobertura de código de Behave? Me resulta difícil creer […]

¿Por qué Python comstack la fuente a bytecode antes de interpretar?

¿Por qué Python comstack la fuente a bytecode antes de interpretar? ¿Por qué no interpretar desde la fuente directamente?