Programación con Python Prof: Pablo Ramón
Programación con Python
Índice de contenido
1 El lenguaje Python...........................................................................................................................1
1.1 Breve reseña..............................................................................................................................1
1.2 Comparación con otros lenguajes (Java y PHP).......................................................................2
2 Sintaxis y elementos básicos............................................................................................................2
2.1 Estructura básica de un programa en Python...........................................................................2
2.2 Variables...................................................................................................................................2
2.3 Comentarios..............................................................................................................................3
2.4 Operadores aritméticos y lógicos..............................................................................................3
2.4.1 Operadores aritméticos.....................................................................................................3
2.4.2 Operadores lógicos............................................................................................................4
2.5 Instrucciones de control de flujo...............................................................................................4
2.5.1 Condicionales if, elif, else.................................................................................................4
2.5.2 Bucles................................................................................................................................5
[Link] Bucle while................................................................................................................5
[Link] Bucle for....................................................................................................................5
2.6 Entrada y salida de datos por consola.......................................................................................5
2.6.1 Salida de datos..................................................................................................................5
2.6.2 Entrada de datos................................................................................................................6
2.7 Estructuras de datos..................................................................................................................6
2.7.1 Listas (arrays en Java).......................................................................................................6
2.7.2 Diccionarios (clave : valor)...............................................................................................8
2.8 Definición de funciones..........................................................................................................10
2.9 Funciones del sistema (unas pocas)......................................................................................13
2.9.1 Función len() ..................................................................................................................13
2.9.2 Función split() ................................................................................................................13
2.9.3 Módulo random...............................................................................................................13
2.9.4 Fecha y hora....................................................................................................................13
2.10 Control de errores.................................................................................................................13
1 El lenguaje Python
1.1 Breve reseña
Python es un lenguaje de programación de alto nivel, interpretado y muy utilizado en la actualidad.
Fue creado en 1991 por Guido van Rossum y se caracteriza por:
• Sintaxis sencilla y cercana al lenguaje humano
Página 1 de 15
Programación con Python Prof: Pablo Ramón
• Código fácil de leer y mantener
• Gran cantidad de librerías
• Uso en muchos campos: educación, ciencia, web, inteligencia artificial, automatización,
videojuegos…
Python es ideal para aprender a programar porque permite centrarse en la lógica sin complicarse
con detalles técnicos.
1.2 Comparación con otros lenguajes (Java y PHP)
Característica Python Java PHP
Tipo Interpretado Compilado / JVM Interpretado
Dificultad Baja Media-Alta Media
Sintaxis Muy simple Más estricta Intermedia
Uso típico Ciencia, IA, scripts, web Aplicaciones grandes, Android Web
Llaves {} ❌ No ✅ Sí ✅ Sí
Punto y coma ; ❌ No ✅ Sí ✅ Sí
? Python necesita menos código para hacer lo mismo que Java o PHP.
2 Sintaxis y elementos básicos
2.1 Estructura básica de un programa en Python
Un programa en Python se ejecuta de arriba hacia abajo.
print("Hola mundo")
No es necesario definir una función principal como en Java.
La indentación (sangrado) es obligatoria y sustituye a las llaves de otros lenguajes{}.
if True:
print("Esto está dentro del if")
2.2 Variables
Las variables sirven para almacenar datos.
Página 2 de 15
Programación con Python Prof: Pablo Ramón
edad = 18
nombre = "Ana"
altura = 1.65
Python detecta automáticamente el tipo de dato.
Tipos básicos
• int → enteros
• float → decimales
• str → cadenas de texto
• bool → verdadero / falso
2.3 Comentarios
Un comentario es una o varias líneas de código que no se ejecutan. Los comentarios sirven para
documentar el código, es decir, explicar lo que hace tanto para el propio programador como para
otra persona que lo lea.
Los comentarios ocupan una línea y se ponen con el símbolo #
# Esta linea no se ejecuta
2.4 Operadores aritméticos y lógicos
2.4.1 Operadores aritméticos
Los operadores aritméticos reciben números y devuelven otro número.
Operador Significado Ejemplo
+ Suma a + b
- Resta a - b
* Multiplicación a * b
/ División a / b
// División entera a // b
% Módulo a % b
** Potencia a ** b
Página 3 de 15
Programación con Python Prof: Pablo Ramón
2.4.2 Operadores lógicos
Los operadores lógicos son aquellos que devuelven Cierto o Falso, es decir, plantean una
operación que siempre se debe dar como resultado V o F.
Ejemplo 1 → 5<2 → Falso, 5!=3 → Cierto
Operador Significado
> Mayor que
< Menor que
== Igual
<= Mayor igual
<= Menor igual
!= Distinto
and Y lógico
or O lógico
not Negación
edad = 20
if edad >= 18 and edad < 65:
print("Edad laboral")
2.5 Instrucciones de control de flujo
2.5.1 Condicionales if, elif, else
nota = 7
if nota >= 5:
print("Aprobado")
elif nota == 4:
print("Casi aprobado")
else:
print("Suspenso")
Página 4 de 15
Programación con Python Prof: Pablo Ramón
2.5.2 Bucles
[Link] Bucle while
contador = 1
while contador <= 5:
print(contador)
contador += 1
Para salir del bucle de forma directa sin necesidad de que se cumpla la condición tenemos la
palabra reservada break. Esta instrucción es fundamental cuando estamos hablando de bucles
infinitos:
While True:
# De aquí no se sale nunca a no ser que pongamos un break en algun momento
[Link] Bucle for
Sirve para recorrer una secuencia de números o una estructura de datos ( que veremos más
adelante)
for i in range(1, 6):
print(i)
2.6 Entrada y salida de datos por consola
2.6.1 Salida de datos
print("Hola")
Al poner print siempre se inserta un salto de línea, si queremos que no se produzca haremos lo
siguiente:
print(“Hola”,end=””);
Si queremos imprimir variables los podemos hacer de dos formas:
concatenando al final
Página 5 de 15
Programación con Python Prof: Pablo Ramón
print(“Hola”,variable)
O poniendo texto formateado , que permite poner la variable por en medio del texto
print(f”Hola {variable} como estas?”)
2.6.2 Entrada de datos
nombre = input("Introduce tu nombre: ")
edad = int(input("Introduce tu edad: "))
input() siempre devuelve texto, por eso a veces se convierte a int o float.
2.7 Estructuras de datos
2.7.1 Listas (arrays en Java)
Definición
Una lista es una estructura de datos que sirve para almacenar varios valores en una sola
variable, manteniéndolos en un orden determinado.
Ejemplo →
Crear una lista con valores
numeros = [1, 2, 3, 4]
Acceso a elementos:
print(numeros[0])
Recorrer una lista:
for n in numeros:
print(n)
Añadir elementos al final de una lista:
[Link](5)
Borrar elementos
Hay varias formas de borrar elementos las puedes ver y probar en Ejemplo_3.py
Hacer una copia de una lista
Hay varias formas la más sencilla es
Página 6 de 15
Programación con Python Prof: Pablo Ramón
lista2=[Link]()
Obtener el tamaño de una lista
Lo hacemos con una función, que veremos más adelante
len(lista)
Características:
• Se escriben entre corchetes []
• Pueden guardar varios valores
• Los elementos están ordenados
• Se accede a ellos por su posición (índice)
• Los índices empiezan en 0
• Se pueden modificar
Listas Bidimensionales ( Matrices o tablas)
En una lista todos los elementos están en el mismo nivel, sin embargo hay otra forma distinta de
organizar los elementos que es en forma de tabla. En ese caso para acceder a un elemento habrá que
hacerlo indicando fila y columna. Además fíjate en algunos detalles como en la forma de declarar
la matriz. Al hacerlo deberemos de especificar el tamaño de la fila y de la columna. La forma de
trabajar con tablas la tienes en Ejemplo_5.py. Lo que hace dicho ejemplo lo puedes ver a
continuación:
Ejemplo_5.py: Pide un numero impar (n) y crea un matriz nxn, posteriormente llena con 0 la matriz
excepto la diagonal que pone unos
Página 7 de 15
Programación con Python Prof: Pablo Ramón
2.7.2 Diccionarios (clave : valor)
Definición
Un diccionario es una estructura de datos que guarda información en pares clave : valor
Ejemplo(Ejemplo_6.py) →
Página 8 de 15
Programación con Python Prof: Pablo Ramón
Características
• Se escriben entre llaves { }
• Cada dato tiene una clave
• Las claves no se repiten
• No se accede por posición, sino por clave
Página 9 de 15
Programación con Python Prof: Pablo Ramón
• Se pueden modificar
2.8 Definición de funciones
Una función es un fragmento de código que hace algo y que se puede reutilizar las veces necesarias.
def saludar(nombre):
print("Hola", nombre)
saludar("Carlos")
Las funciones permiten reutilizar código y organizar mejor los programas. Las funciones pueden
realizar acciones sin más o devolver algo. Cuando devuleven algún dato lo harán con la palabra
reservada return
Hemos modificado ejemplo_2.py para que todas las operaciones que se hacen juntas en el programa
principal se hagan en funciones definidas por el usuario. El resultado lo tenemos a continuación
aquí:
Ejemplo (Ejemplo_7.py) →
Página 10 de 15
Programación con Python Prof: Pablo Ramón
Página 11 de 15
Programación con Python Prof: Pablo Ramón
Página 12 de 15
Programación con Python Prof: Pablo Ramón
2.9 Funciones del sistema (unas pocas)
2.9.1 Función len()
Devuelve el número de caracteres de una cadena
texto = "Hola"
print(len(texto))
2.9.2 Función split()
Trocea una cadena en base a un carácter dado, en el ejemplo de abajo es el espacio y coge la frase y
separa las palabras
frase = "Hola mundo Python"
palabras = [Link](" ")
print(palabras)
2.9.3 Módulo random
Devuelve un número al azar
import random
numero = [Link](1, 10)
print(numero)
2.9.4 Fecha y hora
from datetime import datetime
ahora = [Link]()
print(ahora)
El tratamiento de fechas puede ser farragoso, ya que hay muchas formas de expresarlas y cuando
el usuario las introduce hay que introducir validación. Como hacer el control de errores y una
ampliación de las funciones de fecha la veremos en el siguiente punto.
2.10 Control de errores
El control de errores sirve para dar una salida controlada cuando algo no va bien. Los errores
pueden ocurrir cuando el usuario comete un error al usar el programa o cuando por ejemplo, falla la
conexión a Internet. Lógicamente, nos referimos a errores que no pueden ser controlados por el
programador, ya que esos deberán ser depurados en el programa. La forma de controlar los errores
es mediante las palabras reservadas try y Except. Entre esas dos palabras pondremos el código
conflictivo de la siguiente manera:
Página 13 de 15
Programación con Python Prof: Pablo Ramón
Supongamos que le pedimos al usuario un número entero pero el usuario introduce una letra. Eso
daría un error que tendríamos que controlar de la siguiente manera:
Como puedes ver hasta que el usuario no le ponga el número entero no parará de pedirlo. En el
siguiente ejemplo vemos como tratar errores así como
En el siguiente ejemplo tenemos tratamiento de errores junto con varias funciones útiles para
fechas
Ejemplo (Ejemplo_8.py) →
Página 14 de 15
Programación con Python Prof: Pablo Ramón
Página 15 de 15