PROGRAMACIÓN EN PYTHON
1. Introducción a Python
Python es un lenguaje de programación popular y versátil que se puede usar para crear
aplicaciones web, análisis de datos, inteligencia artificial, automatización y más.
2. Sintaxis Básica
python
# Imprimir en pantalla: Función print()
print("Hola, Mundo!")
Sangrado o indentación
Mientras que en otros lenguajes de programación la sangría en el código es solo para
facilitar la lectura, en Python la sangría es muy importante. Python utiliza la sangría para
indicar un bloque de código.
python
if 5 > 2:
print("5 ES MAYOR QUE 2!")
Si no dejas sangría daría un error
Ejercicio1: Escribe un programa que muestre el mensaje "Bienvenido a Python”
3. Comentarios
Los comentarios se utilizan para explicar el código y se ignoran durante la ejecución.
python
# Este es un comentario
print("Hola, Mundo!") # Este es otro comentario
Ejercicio2: Añade un comentario a un programa que imprima tu nombre.
4. Variables
En Python, las variables se crean cuando se les asigna un valor. Las variables en Python no
necesitan declaración explícita de tipo.
python
x=5
y = "Hola"
print(x)
print(y)
#Pedir datos al usuario y almacenarlo en una variable: Función input()
1
PROGRAMACIÓN EN PYTHON
Al igual que la función print sirve para mostrar información, disponemos de la función input
para introducir datos en el programa para que puedan ser procesados. Estos datos se
almacenan en una variable de tipo cadena
variable = input('Mensaje a mostrar al solicitar el dato')
n = input('Escribe un número: ') #n será una variable de tipo cadena
Si necesitas convertir el dato a otro tipo, como un entero o un flotante, puedes usar
funciones de conversión como int() o float() o str(). Por ejemplo:
dato = input("Introduce un número: ")
numero = int(dato)
print(type(numero)) #función type devuelve el tipo de dato
Ejercicio 3:. El programa pedirá el nombre al usuario, y su edad. Almacenará los datos en
variables y las imprimirá.
4.1. REGLAS PARA LAS VARIABLES EN PYTHON
El nombre de una variable debe comenzar con una letra o el carácter de guión bajo
El nombre de una variable no puede comenzar con un número
El nombre de una variable solo puede contener caracteres alfanuméricos y guiones
bajos (A-z, 0-9 y _ )
Los nombres de las variables distinguen entre mayúsculas y minúsculas (age, Age y
AGE son tres variables diferentes)
El nombre de una variable no puede ser ninguna de las palabras clave de Python.
4.2. Asignar varias variables de una vez
Python permite asignar varias variables de una vez
python
x, y, z = "Orange", "Banana", "Cherry"
4.3. Asignar múltiples variables el mismo valor
Python permite asignar el mismo valor a varias variables de una vez
python
x = y = z = "Orange"
print(x)
print(y)
print(z)
4.4. Mostrar el valor de las variables
2
PROGRAMACIÓN EN PYTHON
Con la función print() separando los valores por coma muestras variables variables:
Python
x = "Python"
y = "is"
z = "awesome"
print(x, y, z)
Salida: Python is awesome #deja una espacio en blanco entre cada variable con la coma
También se puede utilizar el operador +
Salida: Pythonisawesome #Date cuenta de que debes dejar un espacio en el nombre de
las variables. Si no aparecen seguidas
Si intentas combinar variables numéricas con cadenas usando el operador +, da error.
En ese caso es mejor utilizar el operador coma
4.5. Scope: Variables globales vs locales
Las variables globales se definen fuera de una función y se pueden utilizar en
cualquier sitio, tanto fuera como dentro de funciones. Ejemplo:
Si creas una variable con el mismo nombre dentro de una función, esta variable
será local y solo podrá usarse dentro de la función. La variable global con el mismo nombre
permanecerá como estaba, global y con el valor original.
3
PROGRAMACIÓN EN PYTHON
Normalmente las variables creadas dentro de una función son locales, si quieres crearla como
global debes añadir la palabra “global” antes
También usamos “global” si queremos dentro de una función cambiar el valor de una variable
global
5. Tipos de Datos
Text str
o:
Num int, float, complex
érico
s:
Secu list, tuple, range
enci
as:
Tipo dict
Map
ping:
Conj set, frozenset
unto
:
Bool bool
ean:
Bina bytes, bytearray, m
4
PROGRAMACIÓN EN PYTHON
rios: emoryview
Ning None
ún
tipo:
python
x=5 # Entero
y = 5.5 # Flotante
z = "Hola" # Cadena
a = [1, 2, 3] # Lista, LIST
x = ("apple", "banana", "cherry") # tupla,TUPLE
x = range(6) # rango, RANGE
x = {"name" : "John", "age" : 36} # diccionario, DICT
x = {"apple", "banana", "cherry"} # conjunto, SET
x = frozenset({"apple", "banana", "cherry"}) #forzenset
x = None #ninguno
Si se quiere especificar el tipo se puede utilizar CONSTRUCTORES:
Ejercicio 4: Crea una lista con los nombres de tus tres películas favoritas e imprímela.
5
PROGRAMACIÓN EN PYTHON
5.1. Tipos numéricos
Python maneja enteros, flotantes y números complejos.
python
x = 1 # Entero
y = 2.8 # Flotante
x = 35e3 # Flotante
y = 12E4 # Flotante
z = -87.7e100 # Flotante
z = 1j # Complejo
Ejercicio 5: Realiza una operación matemática con un número entero y un flotante.
5.2.Casting y obtener el tipo
El casting se utiliza para convertir un tipo de dato en otro.
python
x = int(1) # 1
y = int(2.8) # 2
z = float(1) # 1.0
w = str(3.0) # '3.0'
Ejercicio5v2: Modifica el programa del ejercicio 5 y sálvalo como ejercicio5v2: pide los
números al usuario. Recuerda que la función input almacena los datos en variables de tipo
cadena y por tanto necesitas hacer una conversión de tipos
Ejercicio 6: Convierte un número flotante en entero y una cadena en número.
Obtener el tipo
Puede obtener el tipo de datos de una variable con la función type().
Python
Generar números aleatorios (no tiene un tipo aleatorio, se debe importar un módulo)
5.3.Strings
6
PROGRAMACIÓN EN PYTHON
Las cadenas son secuencias de caracteres. Las variables de cadena se pueden declarar
mediante comillas simples o dobles. Puedes utilizar comillas dentro de una cadena,
siempre que no coincidan con las comillas que rodean la cadena:
Como en otros lenguajes en Python las cadenas se pueden considerar arrays. El primer
carácter es la posición 0
python
a = "Hola, Mundo!"
print(a[1]) # 'o'
print(a[2:5]) # 'la,'
print(len(a)) # 12, muestra la longitud
5.3.1.Recorrer una cadena con un bucle
Dado que las cadenas son matrices, podemos recorrer los caracteres de una cadena
mediante un bucle for.
Ejercicio 7: Escribe una cadena y muestra su longitud. Crea otra cadena y recorrerla
mediante un bucle for
5.3.2. Cadenas de varias líneas
Puedes asignar una cadena de varias líneas a una variable utilizando triple “ o triple ‘
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
5.3.3. Comprobar si una palabra está en una cadena o no
5.3.4. Fragmentos de cadenas
7
PROGRAMACIÓN EN PYTHON
Desde el comienzo hasta la posición 5, esta no incluida
Desde la posición 2, hasta el final
Se pueden usar índices negativos
De: "o" en "¡Mundo!" (posición -5)
Hasta, pero sin incluir: "d" en "¡Mundo!" (posición -2):
5.3.5. Operaciones con cadenas
Mayúsculas
El método upper() devuelve la cadena en mayúsculas:
a = "Hello, World!"
print(a.upper())
Minúsculas
El método lower() devuelve la cadena en minúsculas:
a = "Hello, World!"
print(a.lower())
Eliminar los espacios en blanco
El método strip() elimina los espacios en blanco del principio y
del fin de la cadena
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"
Sustituir una cadena por otra
El método replace() method sustituye una cadena por
otra:
8
PROGRAMACIÓN EN PYTHON
a = "Hello, World!"
print(a.replace("H", "J")) # Jello, World!
Dividir cadenas
El método split() divide la cadena en subcadenas si
encuentra instancias del separador indicado entre
paréntesis:
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']
Concatenar cadenas
Para concatenar cadenas se puede utilizar el símbolo +:
a = "Hello"
b = "World"
c = a + b
print(c) #HelloWorld
Para añadir un espacio en blanco se debe añadir " ":
a = "Hello"
b = "World"
c = a + " " + b
print(c) #Hello World
5.3.6. Formatear cadenas
No podemos combinar cadenas y números de esta manera:
age = 36
txt = "My name is John, I am " + age
print(txt)
¡Pero podemos combinar cadenas y números usando f-strings o el método format()
F-string
F-String se introdujo en Python 3.6, y ahora es la forma preferida de formatear cadenas
permiten incrustar expresiones dentro de llaves {} que se evaluarán en tiempo de ejecución.
Para especificar una cadena como una f-string, simplemente coloca una “f” delante de la
cadena literal y agregue {} como marcadores de posición para variables y otras operaciones
Ejemplo: Crea una Sting-f cadena:
age = 36
txt = f"My name is John, I am {age}"
print(txt)
Marcadores de posición y modificadores
9
PROGRAMACIÓN EN PYTHON
Un marcador de posición puede contener variables, operaciones, funciones y modificadores
para dar formato al valor.
Ejemplo
Agregue un marcador de posición para la variable:price
price = 59
txt = f"The price is {price} dollars"
print(txt)
Un marcador de posición puede incluir un modificador para dar formato al valor.
Se incluye un modificador agregando dos puntos seguidos de un tipo de formato legal, como
por ejemplo .2f que significa que se ha añadido 2 decimales
Ejemplo
Muestra el precio con 2 decimales:
price = 59
txt = f"The price is {price:.2f} dollars"
print(txt)
Un marcador de posición puede contener código Python, como las operaciones
matemáticas:
Ejercicio 8. Utilizando marcadores de posición {} concatena una cadena con una operación
“el precio es X dólares” sustituye x por un marcador de posición donde se calcule la operación
matemática 20*59. El resultado debe ser: El precio es 59.00 dólares
Ejercicio 9: Realiza un programa que pida el nombre al usuario, su edad y su altura y que
muestre el mensaje “El alumno x tiene una altura de Y metros”. Sustituye x por el nombre e Y
por la altura con 1 decimal.
5.3.7. Escapar caracteres
Para insertar caracteres que no son válidos en una cadena, utilice un carácter de escape.\
Un ejemplo de un carácter ilegal es una comilla doble dentro de una cadena que está rodeada
de comillas dobles:
Ejemplo
Obtendrá un error si usa comillas dobles dentro de una cadena que es Rodeado de comillas
dobles:
txt = "Somos llamados "Vikings" del Norte
Para solucionar este problema, utilice el carácter de escape :\"
Ejemplo
El carácter de escape le permite usar comillas dobles cuando normalmente no se le permitiría:
txt = "Somos llamados \"Vikings\" del Norte."
10
PROGRAMACIÓN EN PYTHON
Otros caracteres de escape utilizados en Python:
Código Resultado
\' Comilla simple
\\ Backslash
\n Nueva línea
\r Retorno de carro
\t Tabulador
\b Espacio en blanco
5.4. Booleanos
Los booleanos representan valores de verdad.
python
x = True
y = False
print(5 > 3) # True
print(5 == 3) # False
5.4.1. Función bool()
La función bool() permite evaluar cualquier valor, y devuelve True o False
print(bool("Hello"))
print(bool(15))
Ejemplo de valores que devuelven True:
bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])
Ejemplo de valores que devuelven False:
bool(False)
bool(None)
bool(0)
11
PROGRAMACIÓN EN PYTHON
bool("")
bool(())
bool([])
bool({})
Ejercicio 10: Crea una expresión booleana que evalúe si un número es mayor que otro. Muestra el
valor de la expresión booleana
5.5. Operadores
Python soporta operadores aritméticos, de comparación y lógicos.
Operadores aritméticos de Python
Los operadores aritméticos se utilizan con valores numéricos para realizar operaciones
matemáticas comunes:
# Aritméticos
x=5+3
y=5-3
z=5*3
a=5/3
#potencia
x=2
y=5
print(x ** y) #lo mismo que 2*2*2*2*2
#módulo (el resto de la división)
#división a la baja
Otros operadores
12
PROGRAMACIÓN EN PYTHON
# Comparación
print(x == y) # Igual a
print(x != y) # Diferente a
Otros: >,<,>= …
# Lógicos
print(x > y and y < z)
print(x > y or y < z)
Ejercicio 9: Escribe una expresión que use operadores aritméticos y de comparación.
5.6. Tipos de datos : COLECCIONES (ARRAYS)
Hay cuatro tipos de datos de colección en el lenguaje de programación Python:
List (lista) es una colección ordenada y cambiante. Permite miembros duplicados.
Tuple (tupla) es una colección ordenada e inmutable. Permite miembros duplicados.
Set (conjunto) es una colección que está desordenada, inalterable* y sin indexar. No hay
miembros duplicados.
Dict (diccionario) es una colección que está ordenada** y cambiante. No hay miembros
duplicados.
13
PROGRAMACIÓN EN PYTHON
* Los elementos establecidos no se pueden cambiar, pero puede eliminar y / o agregar
elementos cuando quieras.
**A partir de la versión 3.7 de Python, los diccionarios están ordenados.
5.6.1.Listas
Las listas son colecciones ordenadas y sus elementos se pueden cambiar. Las listas se
utilizan para almacenar varios elementos en una sola variable.
Las listas se crean entre corchetes:
python
frutas = ["manzana", "banana", "cereza"]
print(frutas)
print(frutas[0]) # Acceder al primer elemento
frutas.append("naranja") # Añadir un elemento
print(frutas)
Cuando decimos que las listas están ordenadas, significa que los elementos tienen un
orden definido, y ese orden no cambiará.
Si agrega nuevos elementos a una lista, los nuevos elementos se colocarán al final de la
lista.
Nota: Hay algunos métodos de lista que cambiarán el orden, pero en general: el orden
de los elementos no cambiará.
Cambiable
La lista es modificable, lo que significa que podemos cambiar, agregar y eliminar
elementos en una lista después de que se haya creado.
Permitir duplicados
Dado que las listas están indizadas, las listas pueden tener elementos con el mismo
valor:
Lo
ngitud de la lista
Para determinar cuántos elementos tiene una lista, use la función: len()
Ejemplo
Imprima el número de elementos de la lista:
Print(len(thislist)) #3
14
PROGRAMACIÓN EN PYTHON
Los elementos de la lista pueden ser de cualquier tipo de datos:
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
list4 = ["abc", 34, True, 40, "male"]
Desde la perspectiva de Python, las listas se definen como objetos con el tipo de
datos 'lista':
El constructor list()
También es posible usar el constructor list() al crear un nueva lista.
Ejemplo
thislist = list(("apple", "banana", "cherry")) # nota se usan dobles paréntesis
print(thislist)
Acceso a los elementos
Los elementos de la lista están indexados y puedes acceder a ellos indicando el número
de índice
python
thislist = ["apple", "banana", "cherry"]
print(thislist[1]) # imprime el segundo elemento
Nota: el primer elemento tiene el índice 0.
Indexación negativa: significa que empiezan por el final
-1 se refiere al último elemento, -2 se refiere al penúltimo etc.
thislist = ["apple", "banana", "cherry"]
print(thislist[-1]) #imprime el último
Rango de índices
Cuando especificas un rango el valor devuelto es una nueva lista con los elementos
especificados
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5]) #devuelve el tercero, cuarto y quinto item
Nota: la búsqueda comienza en el índice 2 (incluido) y termina en el índice 5 (no
incluido).
Si no se indica el valor inicial, el rango comienza al principio
15
PROGRAMACIÓN EN PYTHON
Ejemplo: devuelve los elementos desde el principio pero no incluye "kiwi":
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])
Si no se indica el valor final, el rango va hasta el final de la lista
Ejemplo: devuelve desde cherry hasta el final
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])
Rango de índices negativos
Specify negative indexes if you want to start the search from the end of the list:
Example
This example returns the items from "orange" (-4) to, but NOT including "mango" (-1):
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])
Ejercicio 11: Crea una lista con tus tres colores favoritos y añade un cuarto color.
5.6.2. Tuplas
Las tuplas son colecciones ordenadas e inmutables.
python
frutas = ("manzana", "banana", "cereza")
print(frutas[0]) # Acceder al primer elemento
Ejercicio 11: Crea una tupla con los nombres de tres ciudades.
5.6.3.Sets
Los sets son colecciones desordenadas y sin elementos duplicados.
python
frutas = {"manzana", "banana", "cereza"}
print("manzana" in frutas) # Comprobar si un elemento está en el set
Ejercicio 12: Crea un set con los nombres de tres animales y añade un cuarto.
5.6.4.Diccionarios
Los diccionarios son colecciones desordenadas de pares clave-valor.
python
persona = {
16
PROGRAMACIÓN EN PYTHON
"nombre": "Juan",
"edad": 30,
"ciudad": "Madrid"
print(persona["nombre"])
Ejercicio 13: Crea un diccionario con información sobre un libro (título, autor, año).
5.7. DESEMPAQUETAR UNA COLECCIÓN
Si tienes una colección de valores como una lista, tupla, etc Python te permite extraer
en variables cada elemento. Esto se denomina desempaquetar
python
frutas = ["apple", "banana", "cherry"]
x, y, z = frutas
print(x)
print(y)
print(z)
17