¿Qué es el lenguaje de programación Python? ¿Con qué versión es mejor trabajar? Unión con transformación

Como lenguaje de programación bien diseñado, Python es ideal para resolver problemas del mundo real que los desarrolladores enfrentan todos los días. Se utiliza en una amplia gama de aplicaciones, tanto como herramienta para gestionar otros componentes de software como para implementar programas independientes. De hecho, la gama de funciones que Python puede desempeñar como lenguaje de programación multipropósito es prácticamente ilimitada: puede usarse para implementar

cualquier cosa, desde sitios web y programas de juegos hasta controlar robots y naves espaciales.

Sin embargo, los usos actuales de Python se pueden dividir en varias categorías amplias. Las siguientes secciones describen los usos más comunes de Python en la actualidad, así como las herramientas utilizadas en cada área. No tendremos la oportunidad de investigar las herramientas mencionadas aquí. Si alguno de estos le interesa, visite el sitio web del Proyecto Python para obtener más información.

Programación del sistema

Las interfaces integradas de Python para acceder a los servicios del sistema operativo lo hacen ideal para crear programas portátiles y utilidades de administración del sistema (a veces llamadas herramientas de shell). Los programas Python pueden buscar archivos y directorios, ejecutar otros programas, realizar cálculos paralelos utilizando múltiples procesos e hilos, y hacer

mucho más.

La biblioteca estándar de Python es totalmente compatible con los estándares POSIX y admite todas las herramientas típicas del sistema operativo: variables de entorno, archivos, sockets, tuberías, procesos, modelo de ejecución multiproceso, coincidencia de patrones mediante expresiones regulares, argumentos de línea de comando, interfaces estándar para acceder. flujos de datos, ejecutar comandos de shell, agregar nombres de archivos y más

Además, las interfaces del sistema en Python están diseñadas para ser portátiles, como el script de copia del árbol de directorios, que no requiere cambios, sin importar en qué sistema operativo se use. El sistema Stackless Python utilizado por EVE Online también ofrece soluciones mejoradas de procesamiento paralelo.

GUI

La simplicidad y la rápida velocidad de desarrollo de Python lo convierten en una excelente herramienta de desarrollo de GUI. Python incluye una interfaz estándar orientada a objetos para la API Tk GUI llamada tkinter (B Python 2.6 se llama Tkinter) que permite a los programas Python implementar una interfaz gráfica portátil con la apariencia del sistema operativo. GUI basadas en Python/

tkinter se puede utilizar sin cambios en MS Windows, X Window (en sistemas UNIX y Linux) y Mac OS (tanto en la versión clásica como en OS X). El paquete de extensión PMW gratuito contiene componentes visuales adicionales para la suite tkinter. Además, existe la API GUI wxPython, basada en la biblioteca C++, que ofrece un conjunto alternativo de herramientas para crear GUI portátiles en Python.

Herramientas de alto nivel como PythonCard y Dabot se basan en API como wxPython y tkinter. Al elegir la biblioteca adecuada, también podrá utilizar otras herramientas GUI como Qt (usando PyQt), GTK (usando PyGtk), MFC (usando PyWin32), .NET (usando IronPython), Swing (usando Jython - la implementación del lenguaje Python en Java, que se describe en el Capítulo 2, o JPype). Para desarrollar aplicaciones basadas en web o aquellas que no tienen altos requisitos de interfaz de usuario, puede utilizar Jython, marcos web Python y scripts CGI, que se describen en la siguiente sección y brindan capacidades adicionales para crear una interfaz de usuario.

guiones web

El intérprete de Python viene con módulos estándar de Internet que permiten a los programas realizar una variedad de operaciones de red tanto en modo cliente como en modo servidor. Los scripts pueden comunicarse a través de sockets, extraer información de formularios enviados a scripts CGI del lado del servidor; transferir archivos a través de FTP; procesar archivos XML; transmitir, recibir, crear y analizar

correos electrónicos; cargar páginas web desde URL específicas; analizar el marcado HTML y XML de las páginas web recibidas; realizar interacciones utilizando protocolos XML-RPC, SOAP y Telnet y mucho más.

Las bibliotecas incluidas con Python hacen que la implementación de este tipo de tareas sea sorprendentemente sencilla.

Además, existe una enorme colección de herramientas de terceros para crear programas de red en Python que se pueden encontrar en Internet. Por ejemplo, el sistema HTMLGen le permite crear páginas HTML basadas en definiciones de clases de Python. El paquete mod_python está diseñado para ejecutar scripts de Python en el servidor web Apache y admite plantillas de motor de páginas de servidor Python. El sistema Jython proporciona

Integración perfecta de Python/Java y admite subprogramas del lado del servidor que se ejecutan en el lado del cliente.

Además, existen paquetes de desarrollo web completos para Python como Django, TurboGears, web2py, Pylons, Zope y WebWare que admiten la capacidad de crear rápidamente sitios web completamente funcionales y de alta calidad en Python. Muchos de ellos incluyen características tales como asignaciones relacionales de objetos, arquitectura de modelo/vista/controlador, secuencias de comandos del lado del servidor, soporte de plantillas y tecnologías AJAX, lo que proporciona

Soluciones completas y confiables para el desarrollo de aplicaciones web.

Integración de componentes

La capacidad de integrar componentes de software en una sola aplicación usando Python ya se discutió anteriormente cuando hablamos de Python como lenguaje de control. La capacidad de Python para extenderse e integrarse en

Los sistemas en C y C++ lo convierten en un lenguaje conveniente y flexible para describir el comportamiento de otros sistemas y componentes. Por ejemplo, la integración con una biblioteca C permite a Python buscar y ejecutar componentes de la biblioteca, e incorporar Python en productos de software permite personalizar los productos de software sin tener que reconstruir los productos ni enviarlos con el código fuente.

Herramientas como Swing y SIP, que generan código automáticamente, pueden automatizar los pasos de vincular componentes compilados en Python para su uso posterior en scripts, y el sistema Cython permite a los programadores mezclar código Python y C. Grandes plataformas Python como soporte COM.

en MS Windows, Jython (una implementación de Java), IronPython (una implementación de .NET) y varias implementaciones de CORBA proporcionan formas alternativas de organizar las interacciones con los componentes de software. Por ejemplo, en el sistema operativo Windows, los scripts de Python pueden utilizar plataformas de control de aplicaciones como MS Word y Excel.

Aplicaciones de bases de datos

Python tiene interfaces para acceder a las principales bases de datos relacionales: Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite y muchas otras. En el mundo de Python, también existe una API de base de datos portátil para acceder a bases de datos SQL desde scripts de Python que unifica el acceso a diferentes bases de datos. Por ejemplo, al utilizar una API portátil, un script diseñado para funcionar con una base de datos MySQL gratuita puede funcionar con otros sistemas de bases de datos (como Oracle) prácticamente sin cambios. Todo lo que tienes que hacer para hacer esto es reemplazar la interfaz de bajo nivel utilizada.

El módulo pickle estándar implementa un sistema de almacenamiento de objetos simple que permite a los programas guardar y restaurar objetos Python en archivos u objetos especializados. También puedes encontrar un sistema de terceros en Internet llamado ZODB.

Es una base de datos completamente orientada a objetos.

para usar en scripts de Python. También hay

herramientas como SQLObject y SQLAlchemy que muestran

tablas relacionales en el modelo de clases de Python. Desde Python 2.5,

La base de datos SQLite se ha convertido en una parte estándar de Python.

creación rápida de prototipos

En los programas Python, los componentes escritos en Python y C tienen el mismo aspecto. Esto le permite crear primero prototipos de sistemas en Python y luego trasladar componentes seleccionados a lenguajes de compilación como C y C++. A diferencia de otras herramientas de creación de prototipos, Python no requiere que el sistema se reescriba por completo una vez que se depura el prototipo. Las partes del sistema que no requieren la eficiencia de ejecución que proporciona C++ pueden ser

déjelo en Python, lo que simplificará significativamente el mantenimiento y uso de dicho sistema.

programación matemática

y computación científica

La extensión matemática NumPy mencionada anteriormente incluye elementos poderosos como objetos de matriz, interfaces para bibliotecas matemáticas estándar y mucho más. La ampliación de NumPy, mediante la integración con bibliotecas matemáticas escritas en lenguajes de programación de compilación, convierte a Python en una herramienta de programación matemática compleja pero conveniente que a menudo puede reemplazar el código existente escrito en lenguajes de compilación tradicionales como FORTRAN y C++.

Las herramientas matemáticas adicionales para Python admiten la capacidad de crear efectos de animación y objetos 3D, le permiten organizar cálculos paralelos, etc. Por ejemplo, las populares extensiones SciPy y ScientificPython proporcionan bibliotecas adicionales para informática científica y aprovechan las capacidades de la extensión NumPy.

Juegos, imágenes, inteligencia artificial,

Robots XML y mucho más

El lenguaje de programación Python se puede utilizar para resolver una gama más amplia de problemas de los que se pueden mencionar aquí. Por ejemplo:

Crea programas de juegos y videos de animación usando

sistemas pygame

Intercambiar datos con otras computadoras vía serie

puerto usando la extensión PySerial

Procese imágenes usando PIL, extensiones PyOpenGL,

Licuadora, Maya y otros

Controla el robot usando la herramienta PyRo

Analizar documentos XML utilizando el paquete xml, módulo xmlrp

clib y extensiones de terceros

Programar inteligencia artificial mediante un neuroemulador

redes y shells de sistemas expertos

Analice frases en lenguaje natural utilizando el paquete NLTK.

Incluso puedes jugar al solitario usando PySol. Se puede encontrar soporte para muchas otras áreas de aplicaciones en el sitio web de PyPI o mediante motores de búsqueda (busque enlaces usando Google o http://www.python.org).

En términos generales, muchos de estos usos de Python son sólo variaciones de la misma función llamada integración de componentes. El uso de Python como interfaz para bibliotecas de componentes escritas en C hace posible escribir scripts de Python para resolver problemas en una amplia variedad de áreas de aplicación. Como lenguaje de programación de propósito general y multipropósito que admite la integración, Pitón se puede utilizar muy ampliamente.

Por cierto, ¿tienes problemas con la fuente de alimentación de tu portátil? Le aconsejamos que compre fuentes de alimentación para portátiles a precios muy asequibles. En el sitio web de la empresa darrom.com.ua encontrará fuentes de alimentación para cualquier portátil.

Todos los programas considerados anteriormente tenían una estructura lineal: todas las instrucciones se ejecutaban secuencialmente una tras otra, cada instrucción escrita debía ejecutarse.

Digamos que queremos determinar su valor absoluto (módulo) a partir de un número x dado. El programa debe imprimir el valor de la variable x si x>0 o el valor -x en caso contrario. Se viola la estructura lineal del programa: dependiendo de la validez de la condición x>0, se debe emitir uno u otro valor. El fragmento correspondiente del programa Python tiene el siguiente aspecto:

273 x = int(entrada()) si x > 0: imprimir(x) en caso contrario: imprimir(-x)

Este programa utiliza una declaración condicional if. Después de la palabra if, se indica la condición que se está probando (x > 0), terminando con dos puntos. Después de esto viene un bloque (secuencia) de instrucciones que se ejecutarán si la condición es verdadera; en nuestro ejemplo, esto muestra el valor x. Luego viene la palabra else (en caso contrario), que también termina en dos puntos, y un bloque de instrucciones que se ejecutarán si la condición que se está probando es falsa, en este caso se imprimirá el valor -x.

Entonces, una declaración condicional en Python tiene la siguiente sintaxis:

Si Condición: Bloque de instrucciones 1 más: Bloque de instrucciones 2

El bloque de instrucciones 1 se ejecutará si la condición es verdadera. Si la condición es falsa, se ejecutará el bloque de instrucciones 2.

Una declaración condicional puede carecer de la palabra else y del siguiente bloque. Esta instrucción se llama ramificación incompleta. Por ejemplo, si dado un número x y queremos reemplazarlo con el valor absoluto de x, esto se puede hacer de la siguiente manera:

273 x = int(entrada()) si x< 0: x = -x print(x)

En este ejemplo, a la variable x se le asignará el valor -x, pero solo si x<0 . А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.

Python usa sangría para resaltar un bloque de instrucciones relacionadas con una declaración if o else. Todas las instrucciones que pertenecen al mismo bloque deben tener la misma cantidad de sangría, es decir, la misma cantidad de espacios al principio de la línea. Se recomienda utilizar una sangría de 4 espacios y no se recomienda utilizar un carácter de tabulación como sangría.

Esta es una de las diferencias significativas entre la sintaxis de Python y la sintaxis de la mayoría de los lenguajes, en los que los bloques están separados por palabras especiales, por ejemplo, nts... kts en Idol, start... end en Pascal o llaves en C. .

2. Declaraciones condicionales anidadas

Dentro de las instrucciones condicionales, puede utilizar cualquier instrucción del lenguaje Python, incluidas las instrucciones condicionales. Obtenemos una rama anidada: después de una bifurcación, aparece otra bifurcación durante la ejecución del programa. En este caso, los bloques anidados tienen un tamaño de sangría mayor (por ejemplo, 8 espacios). Demostremos esto usando el ejemplo de un programa que, dados números x e y distintos de cero, determina en qué cuarto del plano de coordenadas se encuentra el punto (x,y):

2 -3 x = int(entrada()) y = int(entrada()) si x > 0: si y > 0: # x > 0, y > 0 print("Primer trimestre") más: # x > 0 , y< 0 print("Четвертая четверть") else: if y >0:#x< 0, y >0 print("Segundo trimestre") else: # x< 0, y < 0 print("Третья четверть")

En este ejemplo, utilizamos comentarios: texto que el intérprete ignora. Los comentarios en Python son el carácter # y todo el texto después de ese carácter hasta el final de la línea.

3. Operadores de comparación

Normalmente, el resultado de uno de los siguientes operadores de comparación se utiliza como condición que se prueba:< Меньше — условие верно, если первый операнд меньше второго.
> Mayor que: la condición es verdadera si el primer operando es mayor que el segundo.
<= Меньше или равно.
>= Mayor o igual que.
== Igualdad. La condición es verdadera si los dos operandos son iguales.
!= Desigualdad. La condición es verdadera si los dos operandos son desiguales.

Por ejemplo, la condición (x * x< 1000) означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y ”.

Los operadores de comparación en Python se pueden combinar en cadenas (a diferencia de la mayoría de los otros lenguajes de programación, donde es necesario usar conectores lógicos para esto), por ejemplo, a == b == c o 1<= x <= 10 .

4. tipo de datos booleano

Los operadores de comparación devuelven valores del tipo booleano especial bool. Los valores booleanos pueden tomar uno de dos valores: Verdadero o Falso. La conversión del valor booleano True al tipo int dará como resultado 1 y la conversión de False dará como resultado 0. La conversión inversa convertirá el número 0 en False y cualquier número distinto de cero en True. Al convertir str a bool, la cadena vacía se convierte en False y cualquier cadena que no esté vacía se convierte en True.

4.1. Operadores lógicos

A veces es necesario comprobar no una, sino varias condiciones al mismo tiempo. Por ejemplo, puedes verificar si un número dado es par usando la condición (n % 2 == 0) (el resto de n dividido por 2 es 0), y si necesitas verificar que dos números enteros n y m dados sean pares , es necesario comprobar la validez de ambas condiciones: n % 2 == 0 y m % 2 == 0 , para lo cual es necesario combinarlas mediante el operador and (Y lógico): n % 2 == 0 y m % 2 == 0 .

Hay operadores lógicos estándar en Python: Y lógico, O lógico, negación lógica.

El AND lógico es un operador binario (es decir, un operador con dos operandos: izquierdo y derecho) y tiene la forma y. El operador and devuelve Verdadero si y sólo si ambos operandos son Verdaderos.

O lógico es un operador binario y devuelve Verdadero si y sólo si al menos un operando es Verdadero. El operador “lógico OR” tiene la forma o .

El NOT lógico (negación) es un operador unario (es decir, con un operando) y tiene la forma no seguida de un solo operando. Booleano NOT devuelve Verdadero si el operando es Falso y viceversa.

Ejemplo. Comprobemos que al menos uno de los números aob termina en 0:

15 40 a = int(entrada()) b = int(entrada()) si a % 10 == 0 o b % 10 == 0: imprimir("SÍ") más: imprimir("NO")

Comprobemos que el número a es positivo y b no es negativo:

Si a > 0 y no (b< 0):

O en lugar de no (b< 0) записать (b >= 0) .

5. Instrucciones condicionales en cascada

Un programa de ejemplo que define un cuarto del plano de coordenadas se puede reescribir usando una secuencia en “cascada” con una operación if... elif... else:

5 7 x = int(input()) y = int(input()) si x > 0 e y > 0: print("Primer trimestre") elif x > 0 e y< 0: print("Четвертая четверть") elif y >0: imprimir("Segundo trimestre") else: imprimir("Tercer trimestre")

En esta construcción se verifican una por una las condiciones if, ..., elif y se ejecuta el bloque correspondiente a la primera condición verdadera. Si todas las condiciones que se prueban son falsas, entonces se ejecuta el bloque else, si está presente.

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 secuencias de comandos 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

Este material está destinado a quienes ya están familiarizados con la programación y desean dominar el lenguaje de programación Python. Está diseñado para mostrarle en 10 minutos las características del lenguaje Python, las características de sintaxis y los principios básicos para trabajar con Python mediante ejemplos. Aquí no hay "agua": información que no está directamente relacionada con el lenguaje de programación. ¡Empecemos!

El lenguaje de programación Python se distingue por la escritura fuerte (la escritura fuerte se distingue por el hecho de que el lenguaje no permite mezclar diferentes tipos en expresiones y no realiza conversiones implícitas automáticas, por ejemplo, no se puede restar un conjunto de una cadena), dinámica Se utiliza la mecanografía: todos los tipos se descubren durante la ejecución del programa.

La declaración de variables es opcional, los nombres distinguen entre mayúsculas y minúsculas (var y VAR son dos variables diferentes).

Python es un lenguaje orientado a objetos; todo en el lenguaje es un objeto.

Obteniendo ayuda

La ayuda (ayuda) en Python siempre está disponible directamente en el intérprete. Si quieres saber cómo funciona un objeto, llama a ayuda ( ). Otra instrucción útil es dir() , que muestra todos los métodos de un objeto y las propiedades de los objetos. .__doc__ que le mostrará la cadena de documentación:

>>> ayuda(5) Ayuda sobre objeto int: (etc, etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(número) -> número Devuelve el valor absoluto del argumento."

Sintaxis de Python

Python no tiene construcciones para finalizar bloques (como declaraciones de clases o funciones, por ejemplo): los bloques se definen mediante sangría. Aumente la sangría al principio del bloque, disminúyala al final del bloque. Las declaraciones que requieren sangría terminan con dos puntos (:). Si aún no tiene código después de la declaración de inicio de bloque, inserte una declaración de paso para pasar la verificación de sintaxis.

Mientras que lista de rango == 1: pasar

Los comentarios de una sola línea comienzan con un carácter de almohadilla (#), mientras que los comentarios de varias líneas usan (""") al principio y al final del comentario.

Los valores se asignan utilizando el signo igual (“="”) (los objetos en realidad se nombran en el proceso).

La prueba de diferencia se realiza con dos símbolos iguales ("==").

Puede aumentar un valor usando el operador += y disminuirlo con -= especificando una variable en el lado izquierdo y el valor por el cual se producirá el aumento/disminución en el derecho. Esto funciona con muchos tipos de datos en Python, incluidas las cadenas.

Puede asignar un valor a varias variables en la misma línea. Ejemplos:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Este es un comentario multilínea. Las siguientes líneas concatenan las dos cadenas.""" >>> mystring = "Hola" >>> mystring += "mundo." >>> print mystring Hola mundo. # Esto intercambia las variables en una línea (!). # No viola la tipificación segura porque # los valores en realidad no se asignan, pero los nuevos objetos están vinculados a # los nombres antiguos. >>> mivar, micadena = micadena, mivar

Tipos de datos en Python

Python proporciona tipos de datos como listas, tuplas y diccionarios. Los conjuntos también están disponibles, utilizando el módulo de conjuntos en versiones anteriores a Python 2.5 e integrado en el lenguaje en versiones posteriores.

Las listas son similares a las matrices unidimensionales. Es posible tener una lista compuesta por otras listas.

Los diccionarios son matrices asociativas a las que se accede a los datos mediante clave.

Las tuplas son matrices unidimensionales inmutables.

Las "matrices" en Python pueden ser de cualquier tipo, lo que significa que puede combinar números, cadenas y otros tipos de datos en listas/diccionarios/tuplas.

El índice del primer elemento es 0. Un valor de índice negativo comienza a contar del último al primero, [-1] apuntará al último elemento.

Las variables pueden apuntar a funciones.

>>> muestra = , ("a", "tupla")] >>> mylist = ["Listar elemento 1", 2, 3.14] >>> mylist = "Listar elemento 1 nuevamente" # Estamos cambiando el elemento . >>> mylist[-1] = 3.21 # Aquí nos referimos al último elemento >>> mydict = ("Clave 1": "Valor 1", 2: 3, "pi": 3.14) >>> mydict["pi"] = 3.15 # Así es como se cambian los valores del diccionario >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3

Puede obtener una porción de una matriz (lista o tupla) usando dos puntos (:). Dejar el valor del índice inicial vacío indicará que se comienza desde el primer valor; dejar el valor del índice final vacío indicará el último elemento de la matriz. Los índices negativos se cuentan hacia atrás desde el final de la matriz (-1 apuntará al último elemento).

Mira los ejemplos:

>>> milista = ["Elemento de lista 1", 2, 3.14] >>> print milista[:] ["Elemento de lista 1", 2, 3.1400000000000001] >>> print milista ["Elemento de lista 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Al agregar un tercer parámetro, "step" tendrá el paso de Python en # N incrementos de elementos, en lugar de 1. # Ej. , esto devolverá el primer elemento, luego irá al tercero y # lo devolverá (es decir, los elementos 0 y 2 en la indexación 0). >>> print milista[::2] ["Elemento de lista 1", 3.14]

Cadenas en Python

Se puede utilizar un apóstrofo (') o comillas dobles (comillas dobles - ") para indicar una cadena. Esto le permite tener comillas dentro de una cadena indicada por apóstrofes (por ejemplo, "Dijo "hola"" es una cadena válida).

Las cadenas de varias líneas se indican mediante el uso de un apóstrofo triple o comillas ("""). Python admite Unicode de fábrica. Sin embargo, la segunda versión de Python usa el carácter (u) para indicar una cadena que contiene Unicode: u"Esto es una cadena Unicode." Python3 todas las cadenas contienen Unicode. Si en Python3 necesita una secuencia de bytes, que era esencialmente una cadena en versiones anteriores, se usa el símbolo (b): b"Esta es una cadena de bytes".

Para sustituir valores de parámetros en una cadena, utilice el operador (%) y una tupla. Cada %s se reemplaza por un elemento de la tupla, de izquierda a derecha. También puedes usar un diccionario para sustituir parámetros con nombre:

>>>print "Nombre: %s\ Número: %s\ Cadena: %s" % (miclase.nombre, 3, 3 * "-") Nombre: Poromenos Número: 3 Cadena: --- strString = """ Esta es una cadena de varias líneas.""" # ADVERTENCIA: Tenga cuidado con las s finales en "%(key)s". >>> print "Este %(verbo)s es un %(sustantivo)s." % ("sustantivo": "prueba", "verbo": "es") Esta es una prueba.

Instrucciones de control de flujo: si, durante, mientras

Las declaraciones if, for y while se utilizan para controlar el orden en que se ejecuta un programa. No hay ningún modificador ni mayúscula en Python; For se utiliza para iterar a través de los elementos de una lista (o tupla). Para obtener una secuencia de números, use rango( ). Para interrumpir la ejecución de un bucle, se utiliza break.

La sintaxis de esta construcción es la siguiente:

Lista de rangos = rango(10) >>> imprime la lista de rangos para el número en la lista de rangos: # Verifica si el número es uno de # los números en la tupla.

si el número está en (3, 4, 7, 9): # "Break" termina un for sin # ejecutar la cláusula "else".

break else: # "Continuar" inicia la siguiente iteración # del bucle. Es bastante inútil aquí, # ya que es la última declaración del bucle.

continuar else: # La cláusula "else" es opcional y # se ejecuta sólo si el bucle no se "rompió". # No hacer nada si rangelist == 2: print "El segundo elemento (las listas están basadas en 0) es 2 " elif rangelist == 3: imprime "El segundo elemento (las listas están basadas en 0) es 3" else: imprime "No sé" mientras que rangelist == 1: pasa

Funciones en Python

Las funciones se declaran utilizando la palabra clave "def". Los argumentos opcionales aparecen en la declaración de función después de los requeridos y se les asigna un valor predeterminado. Al llamar a una función, puede pasar argumentos especificando su nombre y valor, mientras omite algunos de los argumentos opcionales o los organiza en un orden diferente al declarado en la función.

Las funciones pueden devolver una tupla y, al utilizar el unboxing de tuplas, puedes devolver varios valores.

# Igual que def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int y a_string son opcionales, tienen valores predeterminados # si no se pasa uno ( 2 y "Una cadena predeterminada", respectivamente). def pass_example(a_list, an_int=2, a_string="Una cadena predeterminada"): a_list.append("Un nuevo elemento") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >>> > imprimir pasando_ejemplo(mi_lista, mi_int) (, 4, "Una cadena predeterminada") >>> mi_lista >>> mi_int 10

Clases de Python

Python admite una forma limitada de herencia múltiple en clases.

Las variables y métodos privados se pueden declarar (por convención, el intérprete no lo verifica) usando dos guiones bajos al principio y no más de uno al final del nombre (por ejemplo: "__spam").

También podemos asignar nombres arbitrarios a instancias de clase. Ver ejemplos:

Clase MiClase(objeto): común = 10 def __init__(self): self.mivariable = 3 def mifunción(self, arg1, arg2): return self.mivariable # Esta es la creación de instancias de clase >>> instancia de clase = MiClase() >> > instanciaclases.mifunción(1, 2) 3 # Esta variable es compartida por todas las clases. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Observe cómo usamos el nombre de clase # en lugar de la instancia. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Esto no actualizará la variable en la clase, # en su lugar vinculará un nuevo objeto al antiguo # nombre de la variable. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Esto no ha cambiado, porque "común" es # ahora una variable de instancia. >>> classinstance.common 10 >>> classinstance2.common 50 # Esta clase hereda de MyClass. El ejemplo # de clase anterior hereda de "objeto", lo que # la convierte en lo que se llama una "clase de nuevo estilo". # La herencia múltiple se declara como: # clase OtraClase(MiClase1, MiClase2, MiClaseN) clase OtraClase(MiClase): # El argumento "self" se pasa automáticamente # y se refiere a la instancia de la clase, por lo que puede establecer # variables de instancia como se indicó anteriormente, pero desde dentro de la clase def __init__(self, arg1): self.myvariable = 3 print arg1 >>. > instanciaclase = OtraClase("hola") hola >>> instanciaclase.mifunción(1, 2) 3 # Esta clase no tiene un miembro .test, pero # podemos agregar uno a la instancia de todos modos. Tenga en cuenta # que esto solo será un miembro de classinstance. >>> instancia de clase.prueba = 10 >>> instancia de clase.prueba 10

Excepciones en Python

Las excepciones en Python se manejan en bloques try-except:

Def some_function(): intente: # La división por cero genera una excepción 10/0 excepto ZeroDivisionError: imprime "Ups, no es válido".

else: # No se produjo la excepción, estamos bien.

pasar finalmente: # Esto se ejecuta después de que se ejecuta el bloque de código # y se han manejado todas las excepciones, incluso # si se genera una nueva excepción durante el manejo.

print "Hemos terminado con eso." >>> some_function() Vaya, no es válido. Hemos terminado con eso.

Importar módulos en Python

Las bibliotecas externas se utilizan después de la importación utilizando la palabra clave import. También puede utilizar desde importar para importar funciones personalizadas.

Importar aleatorio desde hora importar reloj randomint = random.randint(1, 100) >>> imprimir randomint 64

Trabajar con archivos en Python

  • Python tiene una gran cantidad de bibliotecas para trabajar con archivos. Por ejemplo, serialización (convertir datos en cadenas con la biblioteca pickle):< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Import pickle mylist = ["This", "is", 4, 13327] # Abra el archivo C:\\binary.dat para escribir. La letra r antes de la cadena # nombre de archivo se utiliza para evitar que se escape la barra invertida. miarchivo = open(r"C:\\binary.dat", "w") pickle.dump(milista, miarchivo) myfile.close() miarchivo = open(r"C:\\text.txt", "w" ) myfile.write("Esta es una cadena de muestra") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Esta es una cadena de muestra" myfile .close() # Abre el archivo para leerlo. miarchivo = open(r"C:\\binary.dat") lista cargada = pickle.load(miarchivo) miarchivo.close() >>> imprimir lista cargada ["Esto", "es", 4, 13327]
  • Misceláneas
Las condiciones pueden permanecer juntas, por ejemplo 1
  • Puede utilizar del para eliminar variables o elementos en matrices.
número = 5 def mifunc(): # Esto imprimirá 5. print número def otrafunc(): # Esto genera una excepción porque la variable # no ha sido vinculada antes de imprimir. Python sabe que un # objeto estará vinculado a él más adelante y crea un nuevo objeto local # en lugar de acceder al global.

imprimir número número = 3 def Yetanotherfunc(): número global # Esto cambiará correctamente el global.

número = 3

Cómo aprender el lenguaje de programación Python

Este material no pretende ser una guía completa de Python. El lenguaje de programación Python tiene una gran cantidad de bibliotecas y diversas funciones con las que se familiarizará a medida que continúe trabajando con el lenguaje y estudie fuentes adicionales.

Si la información presentada no es suficiente para usted, consulte el material ampliado que describe el lenguaje de programación Python; proporciona información sobre el lenguaje con más detalle.

Entre otros materiales, recomiendo Learn Python The Hard Way. Y, por supuesto, el tutorial de Python 2 y el tutorial de Python 3.

Muchas gracias a Stavros Korokithakis por su excelente tutorial "Aprende Python en 10 minutos".

Si quieres mejorar algo en este material, por favor escribe en los comentarios.

  • El lenguaje interpretado no se compila en código de máquina: las instrucciones simplemente se ejecutan a medida que avanza el programa.
  • Ventajas del lenguaje interpretado sobre los compilados:
  • Multiplataforma (no es necesario compilar un programa para todo. Una vez escrito, el código funcionará en todo).
  • Escritura dinámica (las propias variables determinan el tipo deseado).

Reflexión e introspección (capacidad del programa para automodificarse).

  • Y mucho más que será innecesario en este artículo. Bueno, las desventajas:).
  • Menos productividad (a veces

de modo significativo

  • La necesidad de un programa: un intérprete.
  • Bueno, las ventajas del propio Python 3:
  • Sintaxis simple y hermosa.

Una gran cantidad de funciones integradas y disponibles.

Debido a su popularidad, existe una gran cantidad de información disponible.

Bueno, aprendimos brevemente qué es Python y sus características distintivas.

Sintaxis

  • Aunque ahora mostraremos operadores y construcciones que quizás no conozcas, para seguir aprendiendo es mejor conocerlos de antemano.
  • Entonces, la sintaxis de Python es extremadamente simple y cabe en un pequeño párrafo:
  • Fin de línea - fin de instrucción.

Las instrucciones anidadas están separadas de las principales mediante sangría, es decir diferente número de ellos.

print("¡Hola, soy Python!") # genera la cadena ¡Hola, soy Python! si 3.14< 1592: # условный оператор (будет рассмотрен в след. уроках) print("good") # и опять выводим сообщение print("work") # и еще

Bueno, un par de casos especiales:

  • Puede escribir varias instrucciones en una línea. Sin embargo, esto reduce la legibilidad:

    x = 1,14; y = 2,0014; imprimir(x + y)

    x = 1,14; y = 2,0014; imprimir (x + y)

  • Puede escribir una instrucción en varias líneas. Para hacer esto, debe encerrarlo entre un par de llaves, cuadrados o llaves:

    si (5 > 1 y 1< 2 and 8 == 8 and "good" != "bad"): print("it is true")

Bueno, ¡ahora escribamos nuestro primer programa!

Primer programa:

Para escribir un programa en Python IDLE necesitas:

  1. Abra Python inactivo.
  2. Seleccione Archivo -> Nuevo archivo.
  3. Escriba un programa (código a continuación).
  4. Guardar Ctrl+s.
  5. Presione F5 para ejecutar.

Primero, escribiremos y ejecutaremos el siguiente código y luego lo analizaremos:

s = input("¿Cuál es tu nombre?") print("Hola, ", s,"! ¡Bienvenido al mundo de los descubrimientos! ¡Bienvenido a Python!")

En esta línea, a la variable s se le asigna el valor de la función input() con el parámetro "¿Cómo te llamas?\n". Si no lo entiendes todo, no te preocupes, todo te lo explicaremos detalladamente en los siguientes artículos.

Por ahora, sólo es importante entender que la función input() recibe la cadena ingresada desde el teclado, es decir es el operador de entrada y s obtiene el valor de input() . Vemos que la instrucción está ubicada en una línea según las reglas del lenguaje Python. Por cierto, el carácter "\n" es especial y denota una nueva línea.

print("Hola, ", s,"! ¡Bienvenido al mundo de los descubrimientos! ¡Bienvenido a Python!")

imprimir("Hola, ", s, "¡Bienvenido al mundo de los descubrimientos! ¡Bienvenido a Python!")

En esta línea, solo tenemos la función print(), que es el operador de salida en Python. Como podemos ver, la función tiene muchos parámetros diferentes que deben generarse (se indican separados por comas).

Veamos una operación típica de un programa.



 Arriba