Programación en Python
6 de Mayo 2021, Jesús Díaz
Introducción
¿Qué es un lenguaje de programación?
Para ver que es lenguaje de programación, de forma «universal», ver teoría de programación.
Python es un lenguaje de propósito general, de alto nivel, interpretado y que combina diferentes paradigmas de programación, como son, por ejemplo, la programación imperativa, procedural y la orientación a objetos.
¿En qué se usa Python?
Aunque se habla de python en las aplicaciones web o sistemas, python o también perl, se puede decir a grandes rasgos que está orientado a la conectividad de redes.
Diferencias y tipos de lenguaje de programación
Introducción a los algoritmos
Ver teoría de algoritmos.
Tipos de datos. Variables. Operadores. Funciones.
Tratamiento de cadenas. Tuplas. Listas. Listas de tuplas. Diccionarios. Iteraciones.
# Mostramos tipo de variable
entero=8
type(entero)
real=4.5
type(real)
complejo=5J + 3
type(complejo)
hexa=0xff
type(hexa)
# Función que convierte un número decimal en hexadecimal
hex(16)
# Conjuntos. La función set . Las llaves {}.
Un conjunto es una colección cuyos elementos no guardan ningún orden y que además son únicos.
conjunto=set(‘846’)
conjunto={8, 4, 6}
# Cadenas de texto
cadena=’hola’
# Tratamiento de cadenas
cadena=»casa»
# Imprime el índice que corresponde al primer carácter
cadena.find(«s»)
# Reemplaza
cad = «Hola Mundo»
cad.replace(«Hola»,»Adiós»)
# Tuplas
Una tupla es una estructura de datos que representa una colección de objetos.
Una tupla permite almacenar una colección de datos no necesariamente del mismo tipo. Los datos de la tupla son inmutables a diferencia de las listas que son mutables.
Una vez inicializada la tupla no podemos agregar, borrar o modificar sus elementos.
t=(1, ‘a’, 3.5)
t[1]
# Listas
Una lista es una colección ordenada de objetos del mismo o diferente tipo, cuyo contenido puede modificarse (es mutable). Los objetos pueden ser otra lista.
Se representan escribiendo los elementos entre corchetes y separados por comas.
Las variables de tipo lista hacen referencia a la lista completa.
lista=[1, 2, ‘aa’]
lista[2]
lista=[8,7,5,1]
sorted(lista)
# Tipo range
El tipo range es una lista inmutable de números enteros en sucesión aritmética.
- Inmutable significa que, a diferencia de las listas, los range no se pueden modificar.
- Una sucesión artimética es una sucesión en la que la diferencia entre dos términos consecutivos es siempre la misma.
# Escribir los primeros 50 números
x = range(50)
list(x)
# Bucles o iteraciones (recordar indentación dentro del for, (tabulador) print).
nums = [4, 78, 9, 84]
for n in nums:
print(n)
# Matrices
matriz=[[1,2,3],[4,5,6]]
matriz[0][1]
# Diccionarios
diccionario={‘perro’: ‘animal con 4 patas’,’gato’:’otro animal con 4 patas’}
diccionario[‘perro’]
diccionario={‘palabra1’: valor o ‘significado’, ‘palabra2’: valor2 o ‘significado2’, ‘palabra3’: valor3 o ‘significado3’, .., ‘palabraN’: valorN o ‘significadoN’}
Paso de listas por parámetros. Parámetros indefinidos.
Gestión de ficheros. Función open(), close(), write(), read().with …as.
La programación modular. Parámetros en Python. Librerías en Python.
La programación modular
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.
Un módulo es cada una de las partes de un programa que resuelve uno de los subprogramas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar.
Ventajas de la Programación Modular:
Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto). Se puede profundizar en las pruebas parciales de cada módulo mucho más de lo que se hace un programa mayor.Un programa modular es fácil de mantener y modificar.
Un programa modular es fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores más noveles.
Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.
Desventajas de la Programación Modular
No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.
La programación modular requiere más memoria y tiempo de ejecución.
Librerías
Es un conjunto de módulos que se distribuyen con Python.
Muchas operaciones comunes de la programación diaria ya están implementadas.
Se puede encontrar una lista de módulos a docs.python.org.
El módulo math contiene operaciones matemáticas.
El módulo random funciones de aleatorio.
Instalación de librerías
La mayoría están en PyPI (Python Package Index).
Cada paquete tiene su nombre.
Ej: Requests. Paquete para interactuar con http
Módulos
Es un archivo en Python donde sus objetos pueden ser accedidos desde otro
archivo.
Es un contenedor para organizar código en Python. Sólo es una manera
de organizar grandes códigos.El nombre del módulo es el nombre del arxiu.py
Para importar un módulo creado importe : <module>
Paquetes
Los módulos se organizan en paquetes. Son carpetas que contienen otros
módulos, y un archivo de inicio llamado __init__.py.
Los paquetes permiten estructurar los espacios de nombres de Python.