¿Por qué debería aprender Python? En primer lugar, escuchemos lo que dijo Allan Perlis, ganador del Premio Turing: "Si un lenguaje no puede cambiar tu forma de pensar sobre la programación, entonces no vale la pena aprenderlo. Si es así, estamos dentro". Universidad Cuando era joven, aprendí C, C++, Java y C#. ¿Vale la pena aprender? Muchas veces no vale la pena. Creo que el curso en nuestra universidad es usar java, c# y c++ para repetir "programación en C". Esto se debe a que todos los profesores de la escuela saben C y Java, por lo que este curso debe impartirse de acuerdo con las reglas (esta es también la razón por la que muchas escuelas todavía enseñan VB). Esta es también la razón por la que usted está haciendo lo mismo. cosa, porque todo el mundo tiene un Ha pasado un tiempo. Todo el mundo tiene un interruptor... todo el mundo tiene una clase... todo el mundo tiene un int y un flotante. La llamada diferencia es que C tiene punteros, pero Java no. Por eso fracasa la educación. Es por eso que ninguno de los gigantes de la programación que conozco se graduó actualmente en informática... Las ventajas de Python: simplicidad En comparación con lenguajes como C y C++, para programar hay que aprender mucho. nivelar las cosas. Por ejemplo, ahora mismo estás aprendiendo un nuevo paradigma de programación o quieres crear un ejemplo y probar una API de inmediato. Si escribes java, tienes que escribir un main y algunas construcciones. Incluso si existe un IDE, también puede brindarle un generador de código. Solo necesito escribir un "script" o abrir el intérprete interactivo de Python. Esto puede manifestarse al escribir algoritmos. Por ejemplo, quiero escribir una clasificación rápida: si escribo en lenguaje C: Void q_sort (int números [], int izquierda, int derecha) {int pivot, l_hold, r_holdl_hold = leftr_hold = rightpivot = números[izquierda];mientras (izquierda<derecha){ while((números[derecha]>=pivote)&&(izquierda<derecha))derecha-si(izquierda!=derecha) { números[izquierda]= números[derecha];izquierda++; } while((números[izquierda]<= pivote)&&(izquierda<derecha))izquierda++;if(izquierda!= derecha){ números[derecha]= números[izquierda];derecha-;}} números[ left]=pivot;pivot=left;left=l_holdright=r_holdif(left<pivot) q_sort(numbers,left, pivot-1); if (right & gtpivot) 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 necesitamos escribir partición de matriz e intercambio de intercambio. Si hay una I más y una J menos, puede haber errores ... defq sort (lis): if len. (lis)== 0:return[]else :bajo =[]alto =[]para x en lis[1:]. Lista[0]: Baja. agregar(x) más: alto. append(x)low = qsort(low)hig = qsort(hig)return low+lis[:1]+hig Por supuesto, un maestro puede escribirlo más corto: defqsort (l): si no l: return. L[0]])+L[0:1]+qsort([x for x in L[1:]if x & gt; = L [0]) Debido a que el uso del lenguaje dinámico es más activo 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 aprender a aprender Curve Python porque cuanto más juegues con él, más gratificante será para ti.
A menudo se dice que los principiantes y expertos en Java escriben códigos similares, pero utilizan funciones factoriales simples. Los principiantes pueden escribir así: def factorial (x): si x == 0: devuelve 1 en caso contrario: devuelve x * factorial (x-1). Los maestros lo escriben así: f = lambda x: x y x * f(x-1). O 1 FP Programación funcional Python está orientado a objetos o a procesos, pero primero hablemos de sus beneficios al utilizar la "programación funcional". A continuación se muestra un ejemplo de una calculadora. El primer capítulo de "Gran charla sobre patrones de diseño" utiliza este ejemplo para ilustrar el poder de la programación orientada a objetos y los patrones de diseño. 1. Un método de escritura que se considera malo es el siguiente: (El siguiente código proviene de la comunidad Woodpecker. Si hay algún problema de derechos de autor, hágamelo saber y lo eliminaré) Calculadora de clase pública {static public double foo (charop , doble x, doble y) { cambiar (op) caso'+': devolver x+y; caso '-': devolver caso '* ': devolver x * y; : return x/y; break ;Valor predeterminado: lanzar nueva excepción ("?)}} Bueno, no es reutilizable, no se puede mantener, no es extensible, no es flexible. Aquellos fanáticos que creen en los "patrones de diseño" y Java comenzarán a cambiar este código. . Comencemos con una interfaz: