Cómo hacer que Python sea conciso y eficiente
El uso de la comprensión de listas elimina más del 50% de los bucles for, que son extremadamente ineficientes (observe la implementación del código fuente C) y no son lo suficientemente compactos.
(1) Ejemplo oficial de Python:
>>> for y in if x! =y]
Los resultados de ejecución son los siguientes: [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3 , 1) , (3, 4)]
(2) Invertir la lista: lis[:-1]
(3) Encontrar números primos hasta n:
>>> filtro (número lambda: todo(número%x para x en rango(2, math.sqrt(prime))), rango(2,n))
(4) Cifrado César: para una cadena, cada letra se cifra desplazándola hacia la derecha n bits.
code = ''.join([chr((ord(ch)+n-97)%26+97) if ord('a')<=ord(ch)<=ord(' z') else ch for ch in str])
2. Dinámica de Python
Python es un modelo de programación genérica y de plantillas del que C++ siempre se ha sentido orgulloso:
define build(type, value):
return type(value)
Entonces puedes construir directamente (int,0)... ¿verdad? Aún mejor:
def imponer(func, valor):
return func(valor)
def anyfunc(valor):
valor de retorno*valor
print imponer( anyfunc, 3) # return 9, Python 2.7
Por lo tanto, en Python, los tipos, funciones y otras cosas se pueden considerar como es el objeto de operación (el primer ejemplo muestra operaciones con tipos de datos, el segundo ejemplo muestra operaciones con funciones). Se podría decir que con estas características de Python, puedo implementar las mismas características en C. Es cierto que puedes escribir todas las funciones que quieras en C, pero te darás cuenta de que acabas de reinventar Python y escribiste un intérprete mal implementado en C.
Por favor, no reinventes la rueda.