Red de conocimiento informático - Conocimiento informático - Hermano, ¿por qué debería aprender Python?

Hermano, ¿por qué debería aprender Python?

Simple: Python es un lenguaje que representa la idea de simplicidad. Leer un buen programa Python es como leer en inglés. Le permite concentrarse en resolver problemas en lugar de descubrir el idioma en sí. Fácil de aprender: Python es extremadamente fácil de comenzar porque Python tiene una documentación extremadamente simple. Rápido: la capa inferior de Python está escrita en lenguaje C, y muchas bibliotecas estándar y de terceros también están escritas en C, que se ejecuta muy rápido. Lenguaje de alto nivel: puede escribir programas en Python sin tener que preocuparse por detalles de bajo nivel, como cómo administrar la memoria utilizada por su programa. Biblioteca rica: la biblioteca estándar de Python es realmente enorme. Puede ayudar con una variedad de tareas, incluidas expresiones regulares, generación de documentos, pruebas unitarias, subprocesos, bases de datos, navegadores web, CGI, FTP, correo electrónico, XML, XML-RPC, HTML, archivos WAV, criptografía, GUI (interfaz gráfica de usuario). ), Tk y otras operaciones relacionadas con el sistema. Esto se llama la filosofía "con todas las funciones" de Python. Además de la biblioteca estándar, existen muchas otras bibliotecas de alta calidad, como wxPython, Twisted y la biblioteca de imágenes de Python, entre otras. Portabilidad: debido a su naturaleza de código abierto, Python se ha adaptado a muchas plataformas (con modificaciones para permitirle funcionar en diferentes plataformas). Primero, escuchemos lo que dijo el ganador del Premio Turing, Allan Perlis: "Si un lenguaje no cambia tu forma de pensar sobre la 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#. 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, por lo que tienen que seguir las instrucciones. reglas de este curso (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, switch... todos tienen Class... Hay ints y hay. flota. La supuesta diferencia es que C tiene punteros, pero Java no. Por eso la educación ha fracasado. Por eso los pocos expertos en programación que conozco actualmente no son graduados en informática. Ventajas de Python: simplicidad. Lo que quiero decir con simplicidad es que, en comparación con lenguajes como C y C, debes aprender muchas cosas de bajo nivel para poder programar, por ejemplo, si estás aprendiendo un nuevo paradigma de programación, o si quieres hacerlo. un ejemplo de inmediato y pruebe una determinada API. Si escribe Java, debe escribir una estructura principal y algunas estructuras. Incluso si existe un IDE, puede brindarle un generador de código, y todo lo que necesita. Lo que debe hacer es 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á escrita en lenguaje C: void q_sort(int number[], int left, int right) { int pivot, l_hold, r_hold = left; ; r_hold = derecha; pivote = números[izquierda]; mientras (izquierda lt; derecha) { while ((números[derecha] gt; = pivote) amp; amp; (izquierda lt; derecha)) derecha--; ! = derecha) { números[izquierda] = números[derecha] izquierda } while ((números[izquierda] lt; = pivote) amp; amp; (izquierda lt; derecha)) izquierda; { números[derecha] = números[izquierda]; } } números[izquierda] = pivote = izquierda = l_hold; r_hold; - 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 escribir más brevemente: def qsort(L): si no L: return [] return qsort([x for x en L[1:] if xlt; L[0]]) L[0:1] qsort([x for x in L[1:] if xgt;=L[0]]) Porque el lenguaje dinámico es más flexible en uso que el lenguaje estático, puede expresarse libremente, pero si usa lenguajes estáticos como Java y C, no es tan fácil expresar sus pensamientos. Vale la pena estudiar en profundidad la curva de aprendizaje de Python. Porque cuanto más familiarizado esté con él, mejor será y mayor será el rendimiento que obtenga. La gente suele decir que el código escrito por principiantes de Java y maestros de Java es casi el mismo, pero el código escrito por principiantes de Python y maestros de Python. son simplemente mundos aparte.

Tome la función factorial simple. Un novato puede escribirla así: def factorial(x): si x == 0: devuelve 1 en caso contrario: devuelve x * factorial(x - 1) Un experto puede escribirla así: f = lambda. x: x y x * f(x - 1) o 1 FP La programación funcional Python está orientada a objetos y también puede estar orientada a procesos, pero a continuación usamos "programación funcional" para hablar sobre sus beneficios. una calculadora, "Patrones de diseño Dahua" "El primer capítulo utiliza este ejemplo para ilustrar 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, dímelo y lo eliminaré de inmediato) public class Calculator { static public double Foo(char op, double x, double y) { switch(op) case ' ': return x y; ; caso '-': devolver x-y; caso '*': devolver x *y; caso '/': devolver x/y; no es reutilizable, mantenible, extensible y no es lo suficientemente flexible. Aquellos fanáticos que creen en los "patrones de diseño" y en Java deberían empezar a cambiar este código. Empecemos por una interfaz: Python ya es un lenguaje de programación fácil de aprender, pero no quiero aprender esto, me atrevo a decir que no existe. otro idioma en el mundo. Te hace tener la paciencia suficiente para aprender. En una palabra, no tienes que aprender, nadie te obligará.