Conceptos básicos de Python de un vistazo. Qué puedes hacer con Python

Python es un lenguaje de programación de alto nivel ampliamente utilizado que lleva el nombre del famoso programa de televisión de comedia británico " El circo volador de Monty Python" El lenguaje Python tiene una estructura simple, pero increíblemente flexible y potente. Dado que el código Python es fácil de leer y sin ser demasiado rígido en su sintaxis, muchos lo consideran el mejor lenguaje de programación introductorio.

Python: descripción del lenguaje dada en La Fundación describe Python:

Python es un lenguaje de programación interpretado, interactivo y orientado a objetos. Incluye módulos, excepciones, tipos dinámicos, tipos de datos dinámicos de alto nivel y clases. Python combina un rendimiento excelente con una sintaxis clara. Proporciona interfaces para muchas bibliotecas y llamadas al sistema, así como para varios sistemas de ventanas, y es extensible con C y C++. Python se utiliza como lenguaje de extensión para aplicaciones que requieren una interfaz de programación. Finalmente, Python es un lenguaje multiplataforma: se ejecuta en muchas versiones de Unix, Mac y computadoras con MS-DOS, Windows, Windows NT y OS/2.

¿Qué lenguaje de programación deberías aprender primero?

Puedes comenzar a aprender el lenguaje de programación Python. Para ilustrar en qué se diferencia Python de otros lenguajes introductorios, piense en cuando era un adolescente.

Aprender a programar con Python es como conducir la minivan de tus padres. Una vez que lo hayas conducido varias veces en un estacionamiento, comenzarás a comprender cómo manejar el auto.

Tratando de aprender a programar usando C ( o incluso ensamblador) es como aprender a conducir montando la minivan de tus padres. Estará atrapado en un garaje durante años juntando piezas, y cuando comprenda completamente cómo funciona el automóvil y sea capaz de solucionar problemas y predecir problemas futuros, estará agotado antes de ponerse detrás del rueda.

Beneficios de Python

Python es un lenguaje universal para principiantes. Puede automatizar flujos de trabajo, crear sitios web y crear aplicaciones y juegos de escritorio utilizando Python. Por cierto, la demanda de desarrolladores de Python ( PostgreSQL, programación orientada a objetos, matraz, Django) ha crecido dramáticamente en los últimos años en empresas como Instagram, Reddit, Tumblr, YouTube y Pinterest.

Lenguaje de propósito general de alto nivel.

Python es un lenguaje de programación de alto nivel. Utilizándolo, puedes crear casi cualquier tipo de software. Esta versatilidad lo mantiene interesado a medida que desarrolla programas y soluciones que se dirigen a sus intereses en lugar de quedarse atrapado en la maleza de un lenguaje preocupándose por su sintaxis.

Lenguaje interpretado

El lenguaje de programación Python para principiantes es interpretado, lo que significa que no es necesario saber cómo compilar código. Como no hay ningún paso de compilación, la productividad aumenta y el tiempo de edición, prueba y depuración se reduce considerablemente. Simplemente descargue el IDE ( IDE), escribe tu código y haz clic en “Ejecutar” ( Correr).

La legibilidad del código es clave

La sintaxis simple y fácil de aprender de Python enfatiza la legibilidad y establece un buen estilo de programación. Con Python, puedes expresar tu concepto en menos líneas de código. Este lenguaje también te obliga a pensar en la lógica y los algoritmos del programa. Debido a esto, a menudo se utiliza como lenguaje de scripting o de integración ( lenguaje de pegamento) para vincular componentes existentes y escribir grandes volúmenes de código fácilmente legible y ejecutable en cortos períodos de tiempo.

es simplemente divertido

No se puede nombrar un lenguaje de programación con el nombre de Monty Python sin tener sentido del humor. Además, se llevaron a cabo pruebas para comparar el tiempo necesario para escribir un guión sencillo en diferentes idiomas ( Python, Java, C, J, BÁSICO):

...Python requiere menos tiempo, menos líneas de código y menos conceptos para lograr tu objetivo... Y para colmo, ¡programar en Python es divertido! Divertirse y tener éxito con frecuencia genera confianza e interés en los estudiantes, quienes están mejor preparados para continuar aprendiendo Python.

Traducción del artículo “¿Por qué aprender Python? "fue preparado por el amigable equipo del proyecto.

Bueno Malo

El programa es un conjunto de algoritmos que aseguran que se realicen las acciones necesarias. Convencionalmente, una persona común y corriente puede programarse de la misma manera escribiendo comandos precisos para que, por ejemplo, prepare té. Si en la última opción se utiliza un habla natural (ruso, ucraniano, inglés, coreano, etc.), entonces la computadora necesitará un lenguaje de programación especial. Python es uno de ellos. Posteriormente, el entorno de programación traducirá los comandos y se cumplirá el objetivo humano para el que se creó el algoritmo. Python tiene su propia sintaxis, que se analizará a continuación.

Historia de la lengua

El desarrollo comenzó en la década de 1980 y finalizó en 1991. El lenguaje Python fue creado por Guido van Rossum. Aunque el símbolo principal de Python es una serpiente, recibió su nombre del programa de comedia estadounidense.

Al crear el lenguaje, el desarrollador utilizó algunos comandos tomados de Pascal, C y C++ existentes. Después de que la primera versión oficial estuvo en línea, todo un grupo de programadores se unió para refinarla y mejorarla.

Uno de los factores que permitió que Python se hiciera bastante famoso es su diseño. Muchos especialistas de gran éxito lo reconocen como uno de los mejores.

Características de Python

El lenguaje de programación Python será un excelente maestro para principiantes. Tiene una sintaxis bastante simple. Será fácil entender el código porque no incluye muchos elementos auxiliares y la estructura especial del lenguaje le enseñará cómo aplicar sangría. Por supuesto, un programa bien diseñado con una pequeña cantidad de comandos será inmediatamente comprensible.

Muchos sistemas sintácticos se crearon mediante programación orientada a objetos. Python no es una excepción. ¿Por qué nació exactamente? Facilitará el aprendizaje a los principiantes y ayudará a los empleados ya cualificados a recordar algunos elementos.

Sintaxis del idioma

Como ya se mencionó, el código es bastante fácil y sencillo de leer. Python tiene comandos secuenciales que son precisos en ejecución. En principio, los operadores utilizados no parecerán difíciles ni siquiera a los principiantes. Esto es lo que hace que Python sea diferente. Su sintaxis es fácil y sencilla.

Operadores tradicionales:

  • Al establecer una condición, debe utilizar la construcción if-else. Si hay demasiadas líneas de este tipo, puede ingresar el comando elif.
  • La clase es para entender la clase.
  • Uno de los operadores simples es pasar. No hace nada, sirve para bloques vacíos.
  • Los comandos cíclicos son while y for.
  • La función, método y generador se definen gracias a def.

Además de palabras individuales, el lenguaje de programación Python le permite utilizar expresiones como operadores. Al utilizar cadenas de cadenas, puede reducir la cantidad de comandos y paréntesis separados. También se utilizan los llamados cálculos perezosos, es decir, aquellos que se realizan sólo cuando la condición lo requiere. Estos incluyen y y o.

Proceso de redacción del programa

El intérprete funciona con un solo mecanismo: cuando escribes una línea (después de la cual pones "Enter"), se ejecuta inmediatamente y la persona ya puede ver algún resultado. Esto será útil y bastante conveniente para principiantes o aquellos que quieran probar un pequeño fragmento de código. En entornos compilados, primero tendría que escribir el programa completo, solo luego ejecutarlo y verificar si hay errores.

El lenguaje de programación Python (para principiantes, como ya quedó claro, es ideal) en el sistema operativo Linux le permite trabajar directamente en la propia consola. Debes escribir el nombre del código Python en inglés en la línea de comando. No será difícil crear tu primer programa. En primer lugar, vale la pena considerar que el intérprete se puede utilizar aquí como calculadora. Dado que los especialistas jóvenes y novatos a menudo no se sienten cómodos con la sintaxis, el algoritmo se puede escribir de esta manera:

Después de cada línea debes poner “Enter”. La respuesta se mostrará inmediatamente después de hacer clic en ella.

Datos utilizados por Python

Los datos que utilizan las computadoras (y los lenguajes de programación) son de varios tipos, y esto es bastante obvio. Los números pueden ser fraccionarios, enteros, constar de muchos dígitos o pueden ser bastante masivos debido a la parte fraccionaria. Para que al intérprete le resulte más fácil trabajar con ellos y comprender a qué se enfrenta, conviene especificar un tipo concreto. Además, es necesario que los números quepan en la celda de memoria asignada.

Los tipos de datos más comunes utilizados por el lenguaje de programación Python son:

  • Entero. Estamos hablando de números enteros que tienen valores tanto negativos como positivos. El cero también se incluye en este tipo.
  • Para que el intérprete entienda que está trabajando con partes fraccionarias, el tipo debe ser punto flotante. Como regla general, se usa cuando se utilizan números con un punto variable. Debe recordarse que al escribir un programa es necesario ceñirse a la notación "3.25" y no utilizar la coma "3.25".
  • En el caso de agregar cadenas, el lenguaje de programación Python le permite agregar un tipo de cadena. A menudo las palabras o frases están encerradas en letras simples o

Desventajas y ventajas

En las últimas décadas, la gente ha estado más interesada en dedicar más tiempo a dominar los datos y menos a procesarlos mediante computadoras. El lenguaje del que sólo hay cosas positivas es el código más elevado.

Python prácticamente no tiene desventajas. La única desventaja importante es la lentitud de ejecución del algoritmo. Sí, si lo comparas con “C” o “Java”, es, francamente, una tortuga. Esto se explica por el hecho de que este

El desarrollador se aseguró de agregar las mejores cosas a Python. Por lo tanto, al usarlo, puedes notar que ha absorbido las mejores características de otros lenguajes de programación superiores.

En el caso de que la idea implementada por el intérprete no sea impresionante, será posible comprenderla casi de inmediato, después de escribir varias docenas de líneas. Si el programa merece la pena, la sección crítica se puede mejorar en cualquier momento.

Actualmente, más de un grupo de programadores está trabajando para mejorar Python, por lo que no es un hecho que el código escrito en C++ sea mejor que el creado con Python.

¿Con qué versión es mejor trabajar?

Hoy en día, se utilizan ampliamente dos versiones de un sistema sintáctico como el lenguaje Python. Para los principiantes, será bastante difícil elegir entre ellos. Cabe señalar que 3.x aún está en desarrollo (aunque se lanzó a las masas), mientras que 2.x es una versión completamente completa. Mucha gente recomienda utilizar 2.7.8, ya que prácticamente no se retrasa ni falla. No hay cambios radicales en la versión 3.x, por lo que puedes transferir tu código al entorno de programación con una actualización en cualquier momento. Para descargar el programa necesario, debe ir al sitio web oficial, seleccionar su sistema operativo y esperar a que se complete la descarga.

¿Cuántos lenguajes de programación existen realmente? Hay varias docenas de ellos. Están diseñados para diversas tareas, para todos los gustos, tamaños y colores. ¿Por qué elegí este idioma en particular? Python es capaz de realizar una amplia gama de tareas, desde un simple script hasta la creación de sitios web completos. Python para principiantes es bastante simple, conciso y fácil de aprender.

De este artículo aprenderás:

¡Hola, hola! Gridin Semyon está en contacto. Finalmente llegué al tema principal de este blog, la programación de sistemas inteligentes usando Python. Llevo mucho tiempo preparándome para esto. Y ahora estoy listo para escribirles artículos interesantes y estudiar este tema en profundidad.

¿Por qué necesito esto? Para empezar, me propuse la siguiente tarea sobre el desarrollo del aprendizaje automático y la visión por computadora.

Tal vez, si tengo suerte, terminaré entre los desarrolladores de proyectos robóticos complejos, tal vez me convierta en organizador y abra la producción de robots personales, o tal vez, tal vez... Si nada sale bien, y Dios Bendito sea, disfruto el proceso, no el resultado.

Entonces comenzaré mi historia))...

Características del lenguaje de programación Python.

Como escribí anteriormente, este lenguaje realiza una amplia gama de funciones. Es simplemente imposible abarcarlo todo. Por lo tanto, antes de estudiar, hágase la pregunta: ¿por qué necesito esto? ¿Qué problemas resolveré usando este lenguaje? Si respondiste positivamente, continúa.

¿Cómo puede resultar útil Python?

  1. Trabajar con archivos xml/html
  2. Trabajar con solicitudes http
  3. GUI (interfaz gráfica)
  4. Creando scripts web
  5. Trabajar con FTP
  6. Trabajar con archivos de imágenes, audio y vídeo.
  7. Robótica (uso de ordenadores de placa única)
  8. Programación Informática Matemática y Científica

Y cosas similares. Python es capaz de realizar la mayor parte de las tareas rutinarias.

En Python puedes crear copias de seguridad, trabajar con correos electrónicos, una calculadora simple y un script para un sitio web. El idioma no está limitado por nada. Lo más interesante es que lo utilizan gigantes de TI como Google y Yandex.

En este artículo, lo guiaremos a través de la programación en Python desde cero.

Para que el programa funcione en un dispositivo específico, no importa qué sistema operativo sea Windows, Linux, RaspbianOS, MacOS. Es importante que tenga un intérprete que comprenda los comandos y los ejecute.

Haga lo siguiente: descargue Python IDE c fuente oficial.

Conociendo al intérprete

Entonces el intérprete procesa el código de texto del programa. Hay un modo de entorno de desarrollo interactivo. Puedes ejecutarlo de varias maneras:

  1. Desde la línea de comando cmd normal, ingrese el comando python;
  2. Desde el escritorio (atajo);
  3. Usando el menú Inicio - Python IDLE;

Esta ventana se abrirá para usted:

Por cierto, el shell también se puede utilizar como calculadora normal. Veo este software como una oportunidad para desbloquear todo el potencial de las computadoras de placa única.

Arduino también tiene su propio software shell. Léelo.

¿Por dónde empezar a aprender Python? ¿Intentemos escribir el primer programa?

Creando el primer programa

Un programa Python es un archivo de texto sin formato con código escrito. La extensión de este archivo es .py. Puede ejecutar el programa especificando el nombre apropiado en la línea de comando. Escribamos el programa estándar más simple "¡Hola mundo!"

La tarea es mostrar "¡Hola mundo!" en la pantalla. Inicie el Bloc de notas.

Escribimos el siguiente código:

Pitón

imprimir("¡¡Hola mundo!!!")

imprimir("¡¡Hola mundo!!!" )

Y guárdelo en una carpeta siguiendo la ruta C:\MyScripts. Recomiendo poner todos los proyectos en esta carpeta.

Para que podamos ejecutar el script, seleccione la línea de comando e ingrese la ruta a su archivo:

Sobre libros. De hecho, aunque el lenguaje es simple en términos de creación de código, hay muchos matices y varias bibliotecas para implementar una amplia gama de tareas.

Se considera que el mejor libro sobre Python para principiantes es el tutorial de Mike McGrath. Una guía completa para escribir código Python.

Perdón por la calidad de la foto, no funciona de otra manera. No recomiendo comprar los otros libros todavía, ya que en realidad son voluminosos y voluminosos. McGrath será suficiente como base.

Chicos, eso es todo para mí, si tienen alguna pregunta, siempre pueden escribirme. Suscríbete a las noticias del blog. Envíalo a tus amigos. Gracias por su atención.

Saludos cordiales, Gridin Semyon

Érase una vez, en un foro cerrado, intenté enseñar Python. En general, las cosas se han estancado allí. Sentí pena por las lecciones escritas y decidí publicarlas para el público en general. Hasta aquí el primero, el más sencillo. Lo que sucede a continuación es más interesante, pero tal vez no lo sea. En general, esta publicación será un globo de prueba, si te gusta, la publicaré más.

Python para principiantes. Capítulo uno. "¿De qué estamos hablando?"

Por si acaso, un poco de “evangelización” aburrida. Si estás cansado de él, puedes saltarte algunos párrafos.
Python (pronunciado "Python" en lugar de "python") es un lenguaje de programación desarrollado por Guido van Rossum como un lenguaje simple que es fácil de aprender para los principiantes.
Hoy en día, Python es un lenguaje muy utilizado que se utiliza en muchas áreas:
- Desarrollo de software de aplicaciones (por ejemplo, utilidades de Linux yum, pirut, system-config-*, cliente Gajim IM y muchas otras)
- Desarrollo de aplicaciones web (sobre su base se desarrolló el servidor de aplicaciones más potente Zope y el CMS Plone, en el que, por ejemplo, funciona el sitio web de la CIA, y muchos frameworks para el desarrollo rápido de aplicaciones Plones, Django, TurboGears y muchos otros)
- Úselo como lenguaje de secuencias de comandos integrado en muchos juegos, y no solo (en la suite ofimática OpenOffice.org, el editor Blender 3D, Postgre DBMS)
- Uso en cálculos científicos (con los paquetes SciPy y numPy para cálculos y PyPlot para dibujar gráficos, Python se vuelve casi comparable a paquetes como MatLab)

Y esta, por supuesto, no es una lista completa de proyectos que utilizan este maravilloso lenguaje.

1. El intérprete en sí, puede obtenerlo aquí (http://python.org/download/).
2. Entorno de desarrollo. Para empezar, no es necesario y el IDLE incluido en la distribución es adecuado para principiantes, pero para proyectos serios se necesita algo más serio.
Para Windows utilizo el maravilloso y ligero PyScripter (http://tinyurl.com/5jc63t), para Linux, Komodo IDE.

Aunque para la primera lección, bastará con el shell interactivo de Python.

Simplemente ejecute python.exe. El mensaje de entrada no tardará en aparecer y tiene este aspecto:

También puede escribir programas en archivos con la extensión py en su editor de texto favorito, que no agrega sus propios caracteres de marcado al texto (ningún Word no funcionará). También es deseable que este editor pueda crear “pestañas inteligentes” y no reemplazar espacios con pestañas.
Para iniciar archivos para su ejecución, puede hacer doble clic en ellos. Si la ventana de la consola se cierra demasiado rápido, inserte la siguiente línea al final del programa:

Luego el intérprete esperará a que presiones enter al final del programa.

O asocie archivos py en Far con Python y ábralos presionando Enter.

Finalmente, puede utilizar uno de los muchos IDE convenientes para Python, que brindan capacidades de depuración, resaltado de sintaxis y muchas otras "comodidades".

Un poco de teoría.

Para empezar, Python es un lenguaje fuertemente tipado dinámicamente. ¿Qué quiere decir esto?

Hay lenguajes con escritura fuerte (pascal, java, c, etc.), en los que el tipo de variable se determina de antemano y no se puede cambiar, y hay lenguajes con escritura dinámica (python, ruby, vb ), en el que se interpreta el tipo de una variable en función del valor asignado.
Los lenguajes escritos dinámicamente se pueden dividir en 2 tipos más. Los estrictos, que no permiten la conversión de tipos implícita (Python), y los flexibles, que realizan conversiones de tipos implícitas (por ejemplo, VB, en los que puedes agregar fácilmente la cadena "123" y el número 456).
Habiendo abordado la clasificación de Python, intentemos “jugar” un poco con el intérprete.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , segundo (2, 1)

Así, vemos que la asignación se realiza mediante el signo =. Puede asignar un valor a varias variables a la vez. Cuando especifica un nombre de variable al intérprete de forma interactiva, imprime su valor.

Lo siguiente que hay que saber es cómo se construyen las unidades algorítmicas básicas: ramas y bucles. Para empezar, se necesita un poco de ayuda. En Python no existe un delimitador especial para los bloques de código; la sangría cumple su función. Es decir, lo que está escrito con la misma sangría es un bloque de comando. Al principio esto puede parecer extraño, pero después de acostumbrarse un poco, se da cuenta de que esta medida "forzada" le permite obtener un código muy legible.
Entonces las condiciones.

La condición se especifica mediante una declaración if que termina con ":". El operador de elif especifica las condiciones alternativas que se cumplirán si falla la primera verificación. Finalmente, else especifica una rama que se ejecutará si no se cumple ninguna de las condiciones.
Tenga en cuenta que después de escribir si, el intérprete utiliza el mensaje "..." para indicar que está esperando más entradas. Para decirle que hemos terminado, debemos ingresar una línea vacía.

(El ejemplo con ramas, por alguna razón, rompe el marcado en el hub, a pesar de los bailes con las etiquetas pre y code. Disculpe las molestias, lo tiré aquí, pastebin.com/f66af97ba, si alguien me dice qué pasa, lo haré estar muy agradecido)

Ciclos.

El caso más simple de un bucle es el bucle while. Toma una condición como parámetro y se ejecuta siempre que sea verdadera.
He aquí un pequeño ejemplo.

>>> x = 0 >>> mientras x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Tenga en cuenta que dado que tanto print x como x+=1 están escritos con la misma sangría, se consideran el cuerpo del bucle (¿recuerda lo que dije sobre los bloques? ;-)).

El segundo tipo de bucle en Python es el bucle for. Es similar al bucle foreach en otros idiomas. Su sintaxis es aproximadamente la siguiente.

Para variables en la lista:
equipos

Todos los valores de la lista se asignarán a la variable por turno (de hecho, no solo puede haber una lista, sino también cualquier otro iterador, pero no nos preocupemos por eso por ahora).

He aquí un ejemplo sencillo. La lista será una cadena, que no es más que una lista de caracteres.

>>> x = "¡Hola, Pitón!" >>> para char en x: ... print char ... H e l ........... !

De esta forma podemos descomponer la cadena en caracteres.
¿Qué debemos hacer si necesitamos un bucle que se repita un determinado número de veces? Es muy sencillo, la función de alcance vendrá al rescate.

En la entrada toma de uno a tres parámetros, en la salida devuelve una lista de números que podemos "repasar" con el operador for.

A continuación se muestran algunos ejemplos del uso de la función de rango que explican el papel de sus parámetros.

>>> rango(10) >>> rango(2, 12) >>> rango(2, 12, 3) >>> rango(12, 2, -2)

Y un pequeño ejemplo con un bucle.

>>> para x en el rango(10): ... imprimir x ... 0 1 2 ..... 9

E/S

Lo último que debes saber antes de empezar a utilizar Python por completo es cómo se realiza la entrada y salida en él.

Para la salida, se utiliza el comando de impresión, que imprime todos sus argumentos en un formato legible por humanos.

Para la entrada de la consola, se utiliza la función raw_input(prompt), que muestra un mensaje y espera la entrada del usuario, devolviendo lo que el usuario ingresó como valor.

X = int(raw_input("Ingrese un número:")) print "El cuadrado de este número es ", x * x

¡Atención! A pesar de la existencia de la función input() con una acción similar, no se recomienda su uso en programas, ya que el intérprete intenta ejecutar expresiones de sintaxis introducidas con ella, lo que supone un grave agujero en la seguridad del programa.

Eso es todo por la primera lección.

Tarea.

1. Crea un programa para calcular la hipotenusa de un triángulo rectángulo. El largo de las piernas se solicita al usuario.
2. Crea un programa para encontrar las raíces de una ecuación cuadrática en forma general. Los coeficientes se solicitan al usuario.
3. Cree un programa para mostrar una tabla de multiplicar por el número M. La tabla se compila desde M * a, hasta M * b, donde M, a, b se solicitan al usuario. La salida debe realizarse en una columna, un ejemplo por línea de la siguiente forma (por ejemplo):
5 x 4 = 20
5 x 5 = 25
Etcétera.

Programación en Python

Parte 1. Capacidades del lenguaje y sintaxis básica.

Serie de contenido:

¿Vale la pena aprender Python?

Python es uno de los lenguajes de programación modernos más populares. Es adecuado para resolver una variedad de problemas y ofrece las mismas capacidades que otros lenguajes de programación: dinamismo, soporte OOP y multiplataforma. El desarrollo de Python comenzó por Guido Van Rossum a mediados de la década de 1990, por lo que ahora fue posible deshacerse de las enfermedades "infantiles" estándar, desarrollar significativamente los mejores aspectos del lenguaje y atraer a muchos programadores que utilizan Python para implementar sus proyectos.

Muchos programadores creen que es necesario aprender sólo lenguajes de programación "clásicos" como Java o C++, ya que otros lenguajes no podrán proporcionar las mismas capacidades de todos modos. Sin embargo, últimamente ha surgido la creencia de que es recomendable que un programador conozca más de un lenguaje, ya que esto amplía sus horizontes, le permite resolver problemas de manera más creativa y aumentar su competitividad en el mercado laboral.

Aprender perfectamente dos lenguajes como Java y C++ es bastante difícil y llevaría mucho tiempo; Además, muchos aspectos de estos lenguajes se contradicen entre sí. Al mismo tiempo, Python es ideal para el papel de un segundo lenguaje, ya que se absorbe inmediatamente gracias al conocimiento ya existente de programación orientada a objetos y al hecho de que sus capacidades no entran en conflicto, sino que complementan la experiencia adquirida al trabajar con otra programación. idioma.

Si un programador recién comienza en el campo del desarrollo de software, Python será un lenguaje de programación "introductorio" ideal. Gracias a su brevedad, le permitirá dominar rápidamente la sintaxis del lenguaje, y la ausencia de un "legado" en forma de axiomas formados a lo largo de muchos años le ayudará a dominar rápidamente la programación orientada a objetos. Debido a estos factores, la curva de aprendizaje de Python será bastante corta y el programador podrá pasar de ejemplos educativos a proyectos comerciales.

Por lo tanto, no importa quién sea el lector de este artículo: un programador experimentado o un principiante en el campo del desarrollo de software, la respuesta a la pregunta que da título a esta sección debería ser un rotundo "sí".

Esta serie de artículos está diseñada para ayudarle a superar con éxito la curva de aprendizaje brindándole información desde los principios más básicos del lenguaje hasta sus capacidades avanzadas para la integración con otras tecnologías. El primer artículo cubrirá las características básicas y la sintaxis de Python. A continuación, veremos aspectos más avanzados del trabajo con este popular lenguaje, en particular la programación orientada a objetos en Python.

Arquitectura pitón

Cualquier lenguaje, ya sea de programación o de comunicación, consta de al menos dos partes: vocabulario y sintaxis. El lenguaje Python está organizado exactamente de la misma manera, proporcionando una sintaxis para formar expresiones que forman programas ejecutables y un vocabulario, un conjunto de funciones en forma de una biblioteca estándar y complementos.

Como se mencionó, la sintaxis de Python es bastante concisa, especialmente en comparación con Java o C++. Por un lado, esto es bueno, ya que cuanto más simple sea la sintaxis, más fácil será de aprender y menos errores podrás cometer al utilizarla. Sin embargo, estos lenguajes tienen un inconveniente: pueden usarse para transmitir la información más simple y no pueden expresar estructuras complejas.

Esto no se aplica a Python, ya que es un lenguaje simple pero simplificado. El caso es que Python es un lenguaje con un mayor nivel de abstracción, superior, por ejemplo, a Java y C++, y permite transmitir la misma cantidad de información en menos código fuente.

Python también es un lenguaje de propósito general, por lo que se puede utilizar en casi cualquier área del desarrollo de software (independiente, cliente-servidor, aplicaciones web) y en cualquier área temática. Además, Python se integra fácilmente con componentes existentes, lo que le permite integrar Python en aplicaciones ya escritas.

Otro componente del éxito de Python son sus módulos de extensión, tanto estándar como específicos. Los módulos de extensión estándar de Python tienen una funcionalidad bien diseñada y probada para resolver los problemas que surgen en cada proyecto de desarrollo de software, procesamiento de cadenas y texto, interacción con el sistema operativo y soporte para aplicaciones web. Estos módulos también están escritos en Python, por lo que tienen su propiedad más importante: multiplataforma, lo que le permite transferir proyectos de un sistema operativo a otro de forma rápida y sin complicaciones.

Si la funcionalidad requerida no está en la biblioteca estándar de Python, puede crear su propio módulo de extensión para su uso repetido posterior. Vale la pena señalar aquí que los módulos de extensión para Python se pueden crear no solo en el propio lenguaje Python, sino también utilizando otros lenguajes de programación. En este caso, es posible implementar de manera más eficiente tareas que consumen muchos recursos, como cálculos científicos complejos, pero la ventaja de la multiplataforma se pierde si el lenguaje del módulo de extensión no es multiplataforma, como Python.

Tiempo de ejecución de Python

Como usted sabe, todos los lenguajes de programación multiplataforma se basan en el mismo modelo: es un código fuente verdaderamente portátil y un entorno de ejecución, que no es portátil y específico para cada plataforma específica. Este entorno de ejecución suele incluir un intérprete que ejecuta el código fuente y varias utilidades necesarias para mantener la aplicación: un depurador, un ensamblador inverso, etc.

El entorno de ejecución de Java también incluye un compilador porque el código fuente debe compilarse en código de bytes para la máquina virtual Java. El tiempo de ejecución de Python incluye solo un intérprete, que también es un compilador pero compila el código fuente de Python directamente en código de máquina en la plataforma de destino.

Actualmente existen tres implementaciones de tiempo de ejecución conocidas para Python: CPython, Jython y Python.NET. Como sugiere el nombre, el primer marco se implementa en C, el segundo en Java y el último en la plataforma .NET.

El tiempo de ejecución de CPython generalmente se llama simplemente Python, y cuando la gente habla de Python, con mayor frecuencia se refiere a esta implementación. Esta implementación consta de un intérprete y módulos de extensión escritos en C y se puede utilizar en cualquier plataforma para la que esté disponible un compilador de C estándar. Además, existen versiones precompiladas del tiempo de ejecución para varios sistemas operativos, incluidas varias versiones de Windows. SO y varias distribuciones Linux. En este artículo y en los siguientes, se considerará CPython, a menos que se indique lo contrario por separado.

El tiempo de ejecución de Jython es una implementación de Python para ejecutar la máquina virtual Java (JVM). Se admite cualquier versión de JVM, a partir de la versión 1.2.2 (la versión actual de Java es 1.6). Trabajar con Jython requiere una máquina Java instalada (entorno de ejecución Java) y algunos conocimientos del lenguaje de programación Java. No es necesario saber escribir código fuente en Java, pero sí tendrás que manejar archivos JAR y applets de Java, así como documentación en formato JavaDOC.

Qué versión del entorno elegir depende únicamente de las preferencias del programador; en general, se recomienda mantener tanto CPython como Jython en la computadora, ya que no entran en conflicto entre sí, sino que se complementan. El entorno CPython es más rápido porque no existe una capa intermedia en forma de JVM; Además, las versiones actualizadas de Python se lanzan por primera vez como entorno CPython. Sin embargo, Jython puede utilizar cualquier clase de Java como módulo de extensión y ejecutarse en cualquier plataforma para la que exista una implementación de JVM.

Ambos entornos de ejecución se publican bajo una licencia compatible con la conocida licencia GPL, por lo que pueden utilizarse para el desarrollo de software tanto comercial como libre. La mayoría de las extensiones de Python también tienen licencia GPL y se pueden usar libremente en cualquier proyecto, pero también existen extensiones comerciales o extensiones con licencias más estrictas. Por lo tanto, cuando utilice Python en un proyecto comercial, necesita saber qué restricciones existen en las licencias del complemento de extensión.

Empezando con Python

Antes de comenzar a usar Python, debe instalar su entorno de ejecución; en este artículo, esto es CPython y, en consecuencia, el intérprete de Python. Hay varios métodos de instalación: los usuarios experimentados pueden compilar Python ellos mismos a partir de su código fuente disponible públicamente, también pueden descargar archivos ejecutables ya preparados para un sistema operativo específico desde el sitio web www.python.org y, finalmente, muchas distribuciones de Linux vienen con un intérprete de Python preinstalado. Este artículo utiliza la versión de Windows de Python 2.x, pero los ejemplos presentados se pueden ejecutar en cualquier versión de Python.

Después de que el instalador haya implementado los ejecutables de Python en el directorio especificado, debe verificar los valores de las siguientes variables del sistema:

  • CAMINO. Esta variable debe contener la ruta al directorio donde está instalado Python para que el sistema operativo pueda encontrarlo.
  • CASA DE PITÓN. Esta variable solo debe contener la ruta al directorio donde está instalado Python. Este directorio también debe contener un subdirectorio lib en el que se buscarán módulos estándar de Python.
  • PYTHONPATH. Una variable con una lista de directorios que contienen módulos de extensión que se conectarán a Python (los elementos de la lista deben estar separados por un delimitador del sistema).
  • INICIO DE PYTHON. Una variable opcional que especifica la ruta al script de Python que debe ejecutarse cada vez que se inicia una sesión interactiva del intérprete de Python.

La línea de comando para trabajar con el intérprete tiene la siguiente estructura.

PYTHONHOME\python (opciones) [ -c comando | archivo de secuencia de comandos | - ] (argumentos)

Modo interactivo de Python

Si inicia el intérprete sin especificar un comando o archivo de secuencia de comandos, se iniciará en modo interactivo. En este modo, se inicia un shell de Python especial en el que se pueden ingresar comandos o expresiones individuales y su valor se calculará inmediatamente. Esto es muy conveniente al aprender Python, ya que puedes verificar inmediatamente la exactitud de una construcción en particular.

El valor de la expresión evaluada se almacena en una variable especial llamada Single Underscore (_) para que pueda usarse en expresiones posteriores. Puede finalizar una sesión interactiva utilizando el método abreviado de teclado Ctrl–Z en Windows o Ctrl–D en Linux.

Las opciones son valores de cadena opcionales que pueden cambiar el comportamiento del intérprete durante una sesión; su importancia se discutirá en este y en artículos posteriores. Las opciones van seguidas de un comando específico que debe ejecutar el intérprete o de la ruta a un archivo que contiene el script que se ejecutará. Vale la pena señalar que un comando puede constar de varias expresiones, separadas por punto y coma, y ​​debe estar entre comillas para que el sistema operativo pueda pasarlo correctamente al intérprete. Los argumentos son aquellos parámetros que se pasan para su posterior procesamiento al script ejecutable; se pasan al programa como cadenas y se separan por espacios.

Para verificar que Python esté instalado correctamente y funcione correctamente, puede ejecutar los siguientes comandos:

c:\>python-v
c:\> python –c “importar tiempo; imprimir tiempo.asctime()”

La opción -v imprime la versión de la implementación de Python que se está utilizando y sale, mientras que el segundo comando imprime el valor de la hora del sistema en la pantalla.

Puede escribir scripts de Python en cualquier editor de texto, ya que son archivos de texto normales, pero también existen entornos de desarrollo especiales diseñados para trabajar con Python.

Conceptos básicos de sintaxis de Python

Los scripts del código fuente de Python constan de los llamados cadenas lógicas, cada uno de los cuales a su vez consta de lineas fisicas. El símbolo # se utiliza para indicar comentarios. El intérprete ignora comentarios y líneas vacías.

El siguiente es un aspecto muy importante que puede parecer extraño para los programadores que aprenden Python como segundo lenguaje de programación. El caso es que en Python no existe ningún símbolo que se encargue de separar expresiones entre sí en el código fuente, como el punto y coma (;) en C++ o Java. Un punto y coma le permite separar varias instrucciones si están en la misma línea física. Tampoco existe una construcción como llaves (), que le permite combinar un grupo de instrucciones en un solo bloque.

Las líneas físicas están separadas por el propio carácter de fin de línea, pero si la expresión es demasiado larga para una línea, entonces las dos líneas físicas se pueden combinar en una línea lógica. Para hacer esto, debe ingresar un carácter de barra invertida (\) al final de la primera línea, y luego el intérprete interpretará la siguiente línea como una continuación de la primera, sin embargo, es imposible que haya otros caracteres en la primera línea después del carácter \, por ejemplo, un comentario con #. Solo se utiliza sangría para resaltar bloques de código. Las líneas lógicas con el mismo tamaño de sangría forman un bloque, y el bloque termina cuando aparece una línea lógica con un tamaño de sangría menor. Es por eso que la primera línea de un script de Python no debe tener sangría. Dominar estas sencillas reglas te ayudará a evitar la mayoría de los errores asociados con el aprendizaje de un nuevo idioma.

No existen otras diferencias radicales en la sintaxis de Python con respecto a otros lenguajes de programación. Existe un conjunto estándar de operadores y palabras clave, la mayoría de los cuales ya son familiares para los programadores, mientras que los específicos de Python se tratarán en este artículo y en los siguientes. Las reglas estándar también se utilizan para especificar identificadores de variables, métodos y clases: el nombre debe comenzar con un guión bajo o un carácter latino en cualquier caso y no puede contener los caracteres @, $, %. Además, no se puede utilizar solo un carácter de subrayado como identificador (consulte la nota al pie que habla sobre el modo de operación interactivo).

Tipos de datos utilizados en Python

Los tipos de datos utilizados en Python también son los mismos que en otros lenguajes: tipos de datos enteros y reales; Además, se admite un tipo de datos complejo, con una parte real e imaginaria (un ejemplo de este tipo de número es 1,5J o 2j, donde J es la raíz cuadrada de -1). Python admite cadenas que pueden estar entre comillas simples, dobles o triples, y las cadenas, como Java, son objetos inmutables, es decir. no pueden cambiar su valor después de la creación.

Python también tiene un tipo de datos lógico bool con dos opciones de valor: Verdadero y Falso. Sin embargo, en versiones anteriores de Python no existía tal tipo de datos y, además, cualquier tipo de datos podía convertirse al valor booleano Verdadero o Falso. Todos los números distintos de cero y las cadenas o colecciones de datos no vacías se trataron como Verdaderos, y los valores vacíos y cero se trataron como Falso. Esta característica se ha conservado en las nuevas versiones de Python; sin embargo, para aumentar la legibilidad del código, se recomienda utilizar el tipo bool para las variables booleanas. Al mismo tiempo, si necesita mantener la compatibilidad con implementaciones anteriores de Python, debe usar 1 (Verdadero) o 0 (Falso) como variables booleanas.

Funcionalidad para trabajar con conjuntos de datos.

Python define tres tipos de colecciones para almacenar conjuntos de datos:

  • tupla (tupla);
  • lista(lista);
  • diccionario.

Una tupla es una secuencia ordenada inmutable de datos. Puede contener elementos de diferentes tipos, como otras tuplas. Una tupla se define entre paréntesis y sus elementos están separados por comas. Una función especial incorporada, tuple(), le permite crear tuplas a partir de una secuencia determinada de datos.

Una lista es una secuencia ordenada y mutable de elementos. Los elementos de la lista también están separados por comas, pero se especifican entre corchetes. Para crear listas se propone la función list().

Un diccionario es una tabla hash que almacena un elemento junto con su clave identificadora. El acceso posterior a los elementos también se realiza mediante clave, por lo que la unidad de almacenamiento en un diccionario es un par objeto-clave y un objeto de valor asociado. Un diccionario es una colección mutable pero desordenada, por lo que el orden de los elementos del diccionario puede cambiar con el tiempo. El diccionario se especifica entre llaves, la clave está separada del valor por dos puntos y los pares clave/valor están separados por comas. La función dict() está disponible para crear diccionarios.

El Listado 1 muestra ejemplos de las diferentes colecciones disponibles en Python.

Listado 1. Tipos de colecciones disponibles en Python
('w','o','r','l','d') # tupla de cinco elementos (2.62,) # tupla de un elemento [“test”,"me"] # lista de dos elementos # lista vacía ( 5:'a', 6:'b', 7:'c' ) # diccionario de tres elementos con claves de tipo int

Definición de funciones en Python

Aunque Python admite programación orientada a objetos, muchas de sus características se implementan como funciones independientes; Además, los módulos de extensión suelen tener la forma de una biblioteca de funciones. Las funciones también se utilizan en clases, donde tradicionalmente se denominan métodos.

La sintaxis para definir funciones en Python es extremadamente sencilla; teniendo en cuenta los requisitos anteriores:

def FUNCTION_NAME(parámetros): expresión No. 1 expresión No. 2 ...

Como puede ver, es necesario utilizar la palabra funcional def, dos puntos y sangría. Llamar a la función también es muy sencillo:

FUNCTION_NAME(parámetros)

Sólo hay que considerar algunas cosas específicas de Python. Al igual que en Java, los valores primitivos se pasan por valor (se pasa una copia del parámetro a la función y no puede cambiar el valor establecido antes de llamar a la función), y los tipos de objetos complejos se pasan por referencia (una referencia es pasado a la función y bien puede cambiar el objeto).

Los parámetros se pueden pasar simplemente por orden de listado o por nombre; en este caso, no es necesario especificar al llamar aquellos parámetros para los cuales hay valores predeterminados, sino pasar solo los obligatorios o cambiar el orden de los parámetros al llamar a una función:

#función que realiza la división de enteros - usando el operador // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # resultado del trabajo: 10 print divide(delitel=5, delimoe=50) # resultado funciona: 10

Una función en Python debe devolver un valor; esto se hace explícitamente usando una declaración de retorno seguida del valor de retorno o, en ausencia de una declaración de retorno, devolviendo una constante Ninguno cuando se llega al final de la función. Como puede ver en las declaraciones de función de ejemplo, en Python no es necesario especificar si algo se devuelve de una función o no, pero si una función tiene una declaración de retorno que devuelve un valor, entonces otras declaraciones de retorno en esa función deben devolver valores, y si dicho valor no, entonces debe especificar explícitamente return Ninguno.

Si la función es muy simple y consta de una línea, entonces se puede definir directamente en el punto de uso en Python; dicha construcción se llama función lambda. Una función lambda es una función anónima (sin nombre propio), cuyo cuerpo es una declaración de retorno que devuelve el valor de alguna expresión. Este enfoque puede resultar conveniente en algunas situaciones, pero vale la pena señalar que reutilizar dichas funciones es imposible (“donde nació, resultó útil”).

También vale la pena describir la actitud de Python hacia el uso de la recursividad. De forma predeterminada, la profundidad de recursividad está limitada a 1000 niveles y, cuando se pasa este nivel, se generará una excepción y el programa dejará de ejecutarse. Sin embargo, si es necesario, se puede cambiar el valor de este límite.

Las funciones en Python tienen otras características interesantes, como documentación y la capacidad de definir funciones anidadas, pero estas se explorarán en artículos posteriores de la serie con ejemplos más complejos.




Arriba