Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma , ya que soporta orientación a objetos , programación imperativa y, en menor medida, programación funcional .
Python fue creado a finales de los ochenta por Guido Van Rossum.
El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.
Cuenta con el Zen de Python que son 20 principios de software que influyen en el diseño del lenguaje.
Los PEP son un documento que proporciona información, describe o propone una característica para el lenguaje.
En la pagina oficial de Python podemos obtener mayor información sobre sus campos de aplicación.
Python es un lenguaje multi plataforma y en su sitio web oficial podemos encontrar los diferentes instaladores para el sistema que sea de nuestra preferencia.
https://www.python.org/downloads/
En algunos sistemas Linux ya viene instalado python3 de manera nativa.
source code: código escrito en el lenguaje python.
interpreter: procesador que ejecuta instrucciones de alto nivel.
compiler: compilador que transforma el codigo de python en byte code.
virtual machine: Ambiente donde se ejecuta el byte code y es traducido al lenguaje maquina.
Para activar el modo interactivo del interprete solo debemos abrir nuestra terminal y escribir python3
También podemos instalar otros interpretes interactivos como:
Los tipos de dato estándar de Python son los siguientes.
Adicionalmente Python tiene otros 2 tipos de dato.
Debemos tener en cuenta que en Python todos los tipos de dato son un objeto.
Al asignarlos a una variable podremos hacer uso de sus distintos métodos y atributos.
En Python para ingresar datos (entrada) y mostrarlos (salida) en pantalla podemos utilizar input() y print().
Una variable es un objeto que esta almacenado en memoria.
En el ejemplo podemos ver la variable saludo la cual es de tipo STR y tiene una serie de métodos disponibles correspondientes a un objeto de su tipo.
Asignación simple
Asignación multiple
En Python las constantes son escritas en mayúscula y se utiliza underScore ( _ ) para separar las palabras.
Nuestras constantes no serán inmutables, pero por convención se declaran en mayúscula para tener una mejor legibilidad del código.
Python nos brinda una serie de constantes integradas que podemos utilizar en el desarrollo de nuestra aplicación.
Para realizar la asignación de una variable disponemos de 8 operadores que nos facilitaran realizar algunos cálculos matemáticos.
Podemos realizar cálculos matemáticos utilizando los siguientes operadores.
El orden de precedencia de ejecución de los operadores aritméticos es:
Los valores booleanos son resultado del uso de un operador relacional.
En Python podemos formatear cadenas usando el % o el método format().
IF es una condicional que se utiliza para la toma de decisiones, significa que es ejecutada si se cumple la expresión.
ELSE significa de lo contrario y no tiene una expresión de evaluación.
ELIF es una condicional que nos permite encadenar mas expresiones de evaluación.
El operador ternario en Python es conocido como expresión condicional y puede ser trabajado de la siguiente manera.
Esto nos permite hacer una asignación basada en una evaluación.
Estas expresiones nos permitirán enriquecer nuestros bloques condicionales de código.
Estos operadores nos devolverán un resultado booleano el cual podemos utilizar dentro de nuestros bloques condicionales de código.
También conocidos como bucles nos permiten ejecutar múltiples veces una porción de código.
Blucle While
El código se ejecutara mientras se cumpla la condición (que el valor sea menor a 10)
Dentro de las estructuras de control podemos utilizar sentencias utilitarias como continue y break.
La sentencia continue le indica al bucle que pase a la siguiente iteración, el código que este después de continue ya no sera ejecutado.
La sentencia break le indica al bucle que culmine la iteración actual y que las posteriores ya no se deben ejecutar.
El bucle FOR itera sobre los items de cualquier tipo de secuencia (una lista, una cadena de caracteres, etc)
Al igual que continue y break existe otra sentencia que puede ser utilizada en todos los bucles y esta es ELSE.
Es un bloque de código que recibe 0 o más argumentos de entrada.
Esto nos permite segmentar un programa y tener código reutilizable.
Una función puede recibir de manera dinámica argumentos (args) y/o también pares de clave y valor (kwargs)
Este paradigma se basa en utilizar únicamente funciones, bucles y condicionales.
Ademas las sentencias son ejecutadas en el orden escrito.
Este paradigma se basa en utilizar clases, propiedades y métodos. Como resultado de una clase instanciada obtenemos un objeto.
Algunas de las características de la programación orientada a objetos (POO) son: herencia, polimorfismo, composición.
La herencia le da la capacidad a una clase de heredar atributos o métodos de otra clase, en este caso Hombre hereda el método hablar().
El polimorfismo nos permite reescribir el comportamiento de un método heredado.
Hay que tener en cuenta que no existe polimorfismo si no hay herencia.
A un objeto compuesto por otro se le llama composición .
La encapsulación nos permite limitar el nivel de acceso de nuestros objetos.
Este paradigma trabaja principalmente con funciones y datos inmutables.
Las funciones de orden superior son aquellas que pueden tomar como parámetro a otra función.
Este paradigma trabaja principalmente con funciones y datos inmutables.
Las funciones de orden superior son aquellas que pueden tomar como parámetro a otra función.
Con Python podemos ejecutar procesos de manera sincrona y asincrona (a partir de la versión 3.5).
La forma de ejecutar procesos Sincronos es muy sencilla y ya conocida.
Para la ejecución de procesos Asincronos debemos utilizar un Bucle de eventos.