Mostrando entradas con la etiqueta curso Python. Mostrar todas las entradas
Mostrando entradas con la etiqueta curso Python. Mostrar todas las entradas

jueves, 7 de enero de 2021

Programación Orientada a Objetos (POO)

En Python disponemos de varios paradigmas de programación. Inicialmente hemos visto programación imperativa, concretamente programación estructurada o procedimental o procedural que permite crear algoritmos que se ejecutan secuencialmente de arriba hacia abajo. Cuando el proyecto que deseamos programar se hace muy complejo y de gran tamaño el paradigma procedimental puede llegar a crear un código difícil de seguir y poco intuitivo.

La Object-oriented programming (OOP) o programación orientada a objetos (POO) surgió con la intención de tratar las estructuras de forma similar a como tratamos los objetos en la realidad para conseguir que el código sea más intuitivo.

Veamos un ejemplo de objeto en la vida real. Veamos el objeto coche.

Atributos: características que definen el objeto.

Un coche tiene una serie de atributos o propiedades como son:

  • color
  • número de asientos
  • potencia
  • velocidad máxima
  • consumo
  • peso
  • Km de autonomía
  • capacidad del maletero
  • etc

Métodos: acciones que puede realizar el objeto.

Un coche tiene una serie de métodos o funciones que puede realizar, como por ejemplo:

  • Acelerar
  • Frenar
  • Repostar o cargar batería
  • aparcar
  • abrir maletero
  • girar
  • encender luces
  • poner música
  • etc

También tenemos objetos de objetos. Así, el automóvil tiene un motor que a su vez es un objeto con sus propios tributos y métodos. El motor tiene atributos como la potencia, el consumo, el par-motor, la temperatura máxima, etc. El motor tiene métodos o funciones que puede realizar como encender, apagar, acelerar, etc. Es bastante habitual ver objetos, dentro de objetos, y a su ver estos dentro de otros objetos.

En programación para crear los objetos utilizamos clases. Si el objeto es una galleta la clase sería el molde que utilizamos para crear las galletas. Ese molde tiene una serie de propiedades o atributos y luego una galleta concreta puede disponer de un valor concreto de ese atributo. Por ejemplo, la clase puede definir el color y la forma de la galleta y luego una galleta concreta, que sería el objeto, puede tener un color amarillo, y una forma cuadrada.

En el campo de la programación:

  • La clase se define el Python como class
  • Los atributos son variables. Diferentes objetos creados con la misma clase pueden tener diferentes valores para un mismo atributo. Por ejemplo, el objeto galletaMaria puede tener el atributo calorías con un valor diferente de la galletaIntegral.
  • Los métodos son funciones que en Python se definen con def como cualquier otra función pero que dentro del ámbito de una clase se denomina método. Los métodos, por ser funciones, pueden recibir parámetros y pueden devolver un valor.

El estado de un objeto es el conjunto de valores o atributos que definen ese objeto y que pueden ser diferentes de otro objeto creado con la misma clase. Los objetos creados con una misma clase pueden tener los mismos atributos y métodos pero pueden tener diferentes estados.

Cuando aplicamos una clase para crear un objeto decimos que estamos instanciando una clase para crear un objeto o instancia de clase. De esta forma, una instancia es un objeto e instanciar un objeto es crear un objeto aplicando una clase. Estos objetos se guardan en la memoria conteniendo información sobre los atributos y métodos que poseen.

Python ya dispone de clases creadas a priori y que incluye y están listas para usar, por ejemplo los tipos de datos int o float, y dispone de funciones internas para estos tipos de datos como por ejemplo abs(). En otros casos, el programador puede crear sus propias clases que le permitirá instanciar objetos, por ejemplo, podemos crear facturas, informes, ventanas, puntos de venta, etc.

Veamos como crear en Python la clase galleta. Para ello se usa la palabra clave class y el nombre se acostumbra a ponerlo en mayúsculas y en singular.

 class Galleta:  
   pass  
   
 una_galleta=Galleta()  

Algunos recursos para aprender sobre POO:

miércoles, 6 de enero de 2021

Operaciones aritméticas en Python

En Python podemos hacer las siguientes operaciones aritméticas.

+ suma

– resta

* producto (multiplicación)

/ división

** elevar (exponenciación)

// división entera (cociente de una división)

% resto (módulo)

Si estamos trabajando sobre el interprete de Python, sobre el Shell, después del prompt  >>>  no será necesario poner print pero si estamos trabajando en un archivo .py será necesario poner print para ver el resultado de nuestras operaciones aritméticas.

También se conoce como REPL (Read, Evaluate, Print, Loop), donde lee el comando, evalúa el comando, imprime el resultado y lo repite para leer el comando nuevamente.

Strings en Pyhton

Un string es una cadena o cadena alfanumérica. Es un texto que se escribe entre comillas que puede contener caracteres del cualquier tipo, incluso únicamente numéricos.

Veamos algunos ejemplos de cadenas:


"hola"

"Trimestre4"

"Vuelo 555"

"120A"

"Q-720"

"23.15 €"

"123"

El último valor si va entrecomillado es un string y no un número.

Se pueden usar las dobles comillas o las comillas simples, por ejemplo ‘hola’. Lo que no podemos hacer es mezclar ambos tipos de comillas al inicio y al final de la cadena.

Para hacer un comentario del programador en Python se usa el símbolo #. Todo lo que se escriba después de escribir ese símbolo en una línea que no se tendrá en cuenta en la ejecución y sirve como documentación y aclaración que hace el programador para si mismo o para otros que lean este código en el futuro.


>>> "hola" #sin usar print en el IDLE

'hola'

"hola" + "mundo"

"hi " * 3

string1 = "hola"

string2 = "mundo"

string3 = string1 + string2

print(string3)

print("hola"+" "+"mundo")

#"Vuelo "+505 #error

"Vuelo "+ str(505)

2+8==10 #True

123=='123' #False


En el IDLE de Python el prompt son tres símbolos de mayor que (>>>). Si escribimos una cadena alfanumérica entrecomillada al pulsar Enter nos responderá con esa misma cadena entre comillas simples.


Podemos concatenar (unir) dos strings usando el signo más.


Si queremos que se repita un string podemos multiplicarle por un número que indica el número de repeticiones.


Vamos a crear un par de variables que contendrán un string cada una y luego crearemos una tercera variable que es la suma de las dos anteriores. En este caso lo que sucederá es que la tercera variable será el resultado de concatenar las dos anteriores.


Si intentamos concatenar un string con un número nos dará error. Para evitar el error debemos convertir el número en un string usando la función str().


En Python podemos preguntar si dos expresiones son iguales usando el doble símbolo de igualdad (==). Si son iguales responderá True y si no lo son responderá False.


Podemos comprobar que el número entero 123 no es igual a la cadena alfanumérica ‘123’ y Python nos responde con False.

Instalación de Python en Linux

 Es posible que tu distribución de Linux ya venga con una versión de Python instalada. Nos interesa tener Python 3 o posterior, la antigua versión Python 2 no nos interesa ya que no es totalmente compatible con las versiones posteriores.


Para comprobar que versión de Python 3 tienes instalada puedes teclear en la terminal:


python3 --version


En nuestro caso tenemos instalada la versión 3.8.2 de Python que viene por defecto en Ubuntu 20.04 o en Linux Mint 20 Cinnamon que es nuestra distribución actualmente.


Instalación de pip

Necesitamos instalar el gestor de paquetes pip. El comando pip luego se usará con bastante frecuencia y nos permitirá instalar los paquetes de Python que necesitemos. Para su instalación introducimos la siguiente línea por consola.

sudo apt install python3-pip


Veamos la versión de pip instalada:

pip3 --version

Instalación de Python en Windows

Cuando aprendemos un nuevo lenguaje de programación es habitual comenzar creando un primer programa denominado Hola mundo que permite imprimir la frase “Hola mundo”. Esto nos indicará que se encuentra correctamente instalado y que es capaz de ejecutarse sin errores.

En Python este programa se crea con esta línea de código.

print("¡Hola mundo!")

Al ejecutarla lo que veremos en pantalla es la frase:

¡Hola mundo!

Veamos cómo ejecutar este código usando el IDEL, que es el IDE (entorno de desarrollo) que viene por defecto en Python.

En Windows usando el IDLE

Al instalar Python en Windows también se instala un pequeño editor de texto y una pequeña terminal para ejecutar el código Python.
En el buscador de Windows (la lupa) tecleamos la palabra Python y si ya lo tenemos instalado nos mostrará la aplicación para ejecutarlo.

Seleccionaremos la versión de Python con la que deseemos trabajar, posiblemente la más actual que tengamos instalada. En nuestro caso, en este momento tenemos la versión 3.9.

Al pulsar sobre la aplicación de Python obtendremos una ventana como la siguiente, que es la consola interactiva de Python.


Si después del prompt (>>>) escribes:

print("Hola mundo")

y pulsas Enter verás en pantalla esta frase.

Para salir de esta ventana del Shell puedes escribir


exit()

y pulsar Enter. Se ponen los paréntesis, ya que exit es una función a la que estamos llamando (invocando).

Al teclear nuestra línea de código veremos que al pulsar Enter se ejecuta, mostrando en pantalla la frase: Hola mundo

Observamos que el prompt en esta terminal son tres símbolos del tipo mayor que: >>>

Esto nos indica que podremos escribir nuestro código después de ellos. Por ejemplo, podemos sumar dos números y actuará como una calculadora.


Podremos salir de esta ventana tecleando exit().

Instalación de Python

Podemos trabajar en

  • Windows
  • Linux (en la mayoría de distribuciones ya viene instalado)
  • MAC

La página oficial de Python es https://www.python.org y en ella podremos encontrar la sección de downloads con la última versión descargable. Actualmente estamos en la versión 3.9.1 siendo lo adecuado instalar la última disponible.

En el caso de Windows 10 disponemos de dos posibilidades para trabajar con Python:

  • Trabajar con el propio Windows
  • Instalar en Windows 10 el WSL2 (Windows Subsintem for Linux versión 2) y de esta forma podremos disfrutar de una distribución de Linux, por ejemplo Ubuntu, embebida en nuestro Windows.

Esta segunda opción es muy recomendable en caso de trabajar con Windows 10. Para su instalación lo aconsejable es seguir los pasos que recomienda la propia Microsoft en este enlace: WSL2.

¿Qué es Python?

 Python es un lenguaje de programación:

  • sencillo → recomendado para aprender a programar
  • muy utilizado → es uno de los lenguajes más utilizados y preferidos por los programadores
  • especializado → es líder en campos como big data y machine learning
  • software libre → tiene licencia de código abierto
  • multiplataforma → está disponible para Windows, Mac y Linux
  • multipropósito → se usa para cálculo científico, web y muchas otras aplicaciones
Puedes escuchar la pronunciación en inglés:


  • Lenguaje de programación multiplataforma, de alto nivel
  • Sintaxis legible → Sencillo de aprender
  • Comunidad, open-source
  • Multiparadigma: imperativa, estructural, POO, funcional
  • Tipado dinámico, interpretado
  • Simple, rápido, elegante, flexible, ordenado
  • Big data, data science, IA, ciencia, web, …
  • Guido Van Rossum, 90s, Monty Python
  • Frameworks: Django, Flask
  • Jupyter, Pandas, NumPy, Matplotlib
  • Raspberry Pi, IoT
Página principal del proyecto: https://www.python.org