Por qué elegí aprender Python
En primer lugar, escuchemos lo que dijo el ganador del Premio Turing, Allan Perlis: “Si un lenguaje no cambia tu forma de pensar en programación, entonces no vale la pena aprenderlo”.
Si lo ponemos de esta manera, cuando estábamos en la universidad, aprendimos c, c, java y C#. ¿Vale la pena aprenderlo? Muchas veces no vale la pena. Creo que los cursos de nuestra universidad son para volver a enseñar "Programación C" usando Java, C# y C.
Esto se debe a que los profesores de la escuela saben C y Java. , etc. Sí, entonces este curso debe impartirse de acuerdo con las reglas (es por eso que muchas escuelas todavía enseñan VB), por eso, lo que crees que es lo mismo es que todos tienen For, while y switch... Ambos. tienen clase... ambos tienen int y ambos tienen float. La llamada diferencia es que C tiene punteros y Java no. Es por eso que la educación ha fallado. Es por eso que varios expertos en programación que conozco actualmente no son informáticos. graduado...
Ventajas de Python:
Simple Lo que quiero decir con simplicidad es que, en comparación con lenguajes como C y C, hay que aprender mucho de bajo nivel. cosas.
Por ejemplo, si está aprendiendo un nuevo paradigma de programación, o quiere hacer un ejemplo de inmediato, o probar una determinada API, si está escribiendo Java, no debe hacerlo. En lugar de escribir un archivo principal , escribe algunas estructuras Incluso si hay algo como un IDE que puede brindarte un generador de código, lo que hago es simplemente escribir un "script" o abrir el intérprete interactivo de Python.
Esto se puede mostrar al escribir algoritmos. Por ejemplo, quiero escribir una clasificación rápida:
Si está escrito en lenguaje C: void q_sort(int number[], int left, int derecha) { int pivot, l_hold, r_hold; l_hold = izquierda; r_hold = derecha; pivote = números[izquierda]; mientras (izquierda lt; derecha) { while ((números[derecha] gt; = pivote) amp; ( izquierda lt; derecha)) derecha--; if (izquierda != derecha) { números[izquierda] = números[derecha] izquierda } while ((números[izquierda] lt; = pivote) amp; amp; (izquierda; lt; derecha)) izquierda; si (izquierda! = derecha) {números[derecha] = números[izquierda]--; r_hold; if (left lt; pivot) q_sort(numbers, left, pivot-1); if (right gt; pivot) q_sort(numbers, pivot 1, right } ¿Por qué es tan largo? Porque además de expresar la idea de clasificación rápida, también hay que escribir partición de matriz, intercambio de intercambio, para i, j con uno más y uno menos, y pueden ocurrir errores...
def qsort(lis): if len(lis) == 0: return [] else: low = [] hig = [] for x in lis[1:]: if x lis[0]: low.append( x) else: hig.append (x) low = qsort(low) hig = qsort(hig) return low lis[:1] hig Por supuesto, los expertos pueden escribirlo más breve:
def qsort(L ): si no L: return [ ] return qsort([x para x en L[1:] si xlt; L[0]]) L[0:1] qsort([x para x en L[1:] si xgt; =L[0]] ) Debido a que los lenguajes dinámicos son más animados que los lenguajes estáticos en uso, puedes expresarte libremente, pero si usas lenguajes estáticos como Java y C, no lo es. Es muy fácil expresar tus pensamientos.
Curva de aprendizaje Vale la pena estudiar en profundidad Python, porque cuanto más familiarizado estés con él, mayores serán los beneficios que te brindará. La gente suele decir que el código escrito. por principiantes de Java y maestros de Java es casi lo mismo, pero principiantes de Python, los códigos escritos por expertos en Python son simplemente mundos aparte.
Tomemos una función factorial simple.
Los novatos pueden escribir así:
def factorial(x): si x == 0: devuelve 1 en caso contrario: return x * factorial(x - 1) Los expertos escriben esto:
f = lambda x: x y x * f(x - 1) o 1 FP programación funcional Python está orientado a objetos y también puede ser objeto Proceso orientado
Pero usemos "programación funcional" para hablar de sus beneficios.
El siguiente es un ejemplo de una calculadora. El primer capítulo de "Patrones de diseño Dahua" es para usar. Este ejemplo ilustra el poder de la programación orientada a objetos y los patrones de diseño.
En primer lugar, una forma de escribir que se considera mala es la siguiente:
(El siguiente código proviene de la comunidad Woodpecker Si hay algún problema de derechos de autor, comuníquese con nosotros y lo eliminaré de inmediato) public class Calculator { static public double Foo(char op, double x, double y) { switch(op) case ' ': return x y. ; break; case '-': return x-y; case '*': return x*y; case '/': return x/y; por defecto: lanzar nueva excepción("?") , no es reutilizable, mantenible, extensible ni lo suficientemente flexible.
Aquellos fanáticos que creen en los "patrones de diseño" y Java deberían empezar a cambiar este código.