Clase - 02
Clase - 02
datos
Temario:
● Variables y tipos de datos simples.
● Operador de asignación.
● Operadores aritméticos.
● Funciones print() e input().
● Conversión entre tipos de datos simples.
● Programas con entrada, procesamiento y salida de datos.
Objetivos de la clase
Además, se presentarán las funciones print() e input(), esenciales para la interacción entre
el programa y quien lo utilice. A través de estas herramientas, comprenderán cómo
implementar el modelo Entrada-Proceso-Salida para crear programas simples y funcionales.
Variables en Python
Variables en Python
El concepto de variable es uno de los pilares de la programación y es común a todos los
lenguajes por lo que entenderlo será fundamental para todas las personas que deseen
iniciarse en el desarrollo de software. Las mismas son centrales ya que nos permiten que
los programas sean dinámicos y flexibles. ¡Comencemos!
Veamos un ejemplo:
En este ejemplo, “mensaje” es una variable que contiene el texto "Hola, Mundo". El
operador de asignación en Python es el símbolo =: se utiliza para asignar un valor a una
variable. La forma en que funciona es bastante sencilla pero fundamental para casi
cualquier programa. La estructura básica de una asignación es:
Formas de asignación.
Asignación única: Cada vez que usás el operador de asignación podés establecer o
cambiar el valor de una variable. Si la variable ya tiene un valor determinado, el mismo será
reemplazado por el nuevo valor asignado.
edad = 30
nombre = "Juan"
Asignaciones múltiples: Python también permite la asignación múltiple, lo que te permite
asignar valores a varias variables en una sola línea de código. Veamos cómo se vería el
código de las asignaciones múltiples de varias variables:
x, y, z = 1, 2, 3
También podés modificar el valor actual de una variable. ¿Cómo? En el ejemplo siguiente,
se establece el valor de la variable contador a “0”. En la siguiente línea de código contador
recibe un nuevo valor, 1, por lo que el valor final de la variable será 1. Esto es útil para
actualizar el contenido de una variable cuando sea necesario:
contador = 0
contador = 1 # Actualiza el valor de contador a 1
Además en Python, una variable puede comenzar almacenando un tipo de dato, como un
número, y luego cambiar para almacenar un tipo de dato diferente, como una cadena de
caracteres o una lista. Esto es posible gracias al tipado dinámico de Python. Por ejemplo:
dato = 100
dato = "Cien"
En este ejemplo, “dato” inicialmente almacena un valor numérico (100), pero luego cambia
para almacenar una cadena de caracteres ("Cien").
1. Caracteres permitidos: Los nombres de las variables pueden incluir letras
(mayúsculas y minúsculas), números y guiones bajos (_). Sin embargo, deben
comenzar con una letra o un guión bajo. Por ejemplo, _miVariable o miVariable son
válidos, pero 1miVariable no lo es.
2. Palabras reservadas: Python reserva un conjunto de palabras para su sintaxis y
estructura de lenguaje, conocidas como palabras reservadas. Estas no pueden ser
utilizadas como nombres de variables. Algunas de estas palabras incluyen if, for,
class, return, global, entre otras. Intentar usar una palabra reservada como nombre
de variable resultará en un error de sintaxis.
3. Sensibilidad a mayúsculas y minúsculas: Python diferencia entre mayúsculas y
minúsculas. Esto significa que variable, Variable y VARIABLE serían consideradas
tres variables distintas. Aunque técnicamente es posible tener variables con
nombres tan similares, esto no es recomendable ya que puede prestarse a la
confusión.
Además, en Python, el uso de un guión bajo (_) al principio del nombre de una variable,
como en _privado, tiene un significado especial. Esto refiere al alcance de la variable (o
método): significa que ésta es privada y está destinada para uso interno dentro de una
clase o módulo. Aunque Python no aplica esta privacidad de manera estricta, es una
convención ampliamente respetada entre las personas que desarrollan software.
Ejemplos:
edad = 25
numero_de_estrellas = -100
años = 2023
Estos ejemplos muestran cómo asignar un número entero a una variable.
altura = 1.75
temperatura = -20.3
precio = 19.99
Cada ejemplo asigna un número decimal a una variable. Las operaciones con flotantes
siguen las reglas de la aritmética de punto flotante.
Ejemplos:
nombre = "Juan"
mensaje = "Hola, Mundo"
letra = 'A'
Aquí, nombre, mensaje y letra son variables que almacenan cadenas de texto.
4. Booleano (bool)
Los booleanos representan dos valores: Verdadero (True) y Falso (False). Como
comprobarás dentro de poco, son muy utilizados en estructuras de control.
Ejemplos:
es_mayor_de_edad = True
examen_aprobado = False
Los tipos de datos en Python son la base sobre la cual se construyen las estructuras de
datos y se realizan operaciones. Es importante que los conozcas y recuerdes, ya que van a
facilitar la manipulación de datos y la implementación de lógica compleja en los programas.
A medida que avances, trabajaremos con tipos de datos más complejos (como las listas y
diccionarios) y sus métodos asociados, lo que te permitirá construir programas más
potentes y eficientes.
Luis te envía esta tabla, que resume lo visto sobre tipos de datos simples:
Número int Los enteros son números sin parte decimal, que
entero pueden ser positivos o negativos.
La función print()
Una función es simplemente un conjunto de instrucciones que Python ya conoce y que
puede ejecutar cuando se lo pedís. Cuando usas print(), le estas diciendo a Python que
ejecute la función print. Podés pensar en una función como si fuese una receta, una serie
de pasos que te permiten lograr un resultado, como preparar un plato de comida. En
Python, las funciones hacen eso mismo: siguen una serie de pasos para realizar una tarea
específica.
Aunque aún no conocemos todos los detalles, la idea principal es que una función es algo
que puedes usar para realizar tareas en tu programa de manera sencilla. Dentro de poco
aprenderemos a crear nuestras propias funciones, pero por ahora, pensá en print() como un
ejemplo de cómo una función puede hacer que los programas sean útiles y poderosos.
La función print() es utilizada para imprimir datos en la terminal. Acepta múltiples valores
entre los paréntesis, los cuales pueden ser variables, literales (textos directos), o una
combinación de ambos separados por comas. Podés delimitar las cadenas de texto con
comillas simples (') o dobles ("), según prefieras. Por defecto, después de imprimir, print() se
añade un salto de línea, moviendo el cursor a la línea siguiente. Si se invoca print() sin
pasarle argumentos, simplemente imprimirá una línea en blanco.
nombre = "Mundo"
print("Hola,", nombre) # “Hola” y nombre son dos argumentos.
# Salida: Hola, Mundo
La línea de código de color verde, al final del código anterior, es un comentario. En Python,
los comentarios se crean utilizando el símbolo #. Cuando escribís “#” al comienzo de una
línea o en cualquier parte de ella, todo lo que sigue a la derecha del símbolo se considerará
un comentario. Python ignora cualquier texto que esté precedido por #, lo que significa que
esos comentarios no afectarán en absoluto el funcionamiento de tu código. Los comentarios
son útiles para dejar notas, explicar lo que hace una parte del código, o para desactivar
temporalmente una línea de código sin eliminarla. Por ejemplo, si deseás explicar qué hace
una sección específica de tu programa podés agregar un comentario justo encima de esa
sección o al final de la línea de código correspondiente. Es importante usar comentarios de
manera clara para que otras personas (o vos mismo en el futuro) puedan entender
fácilmente lo que el código está haciendo y el propósito detrás de ciertas decisiones. En
este caso, estamos usando los comentarios para indicar qué se mostrará en la terminal al
ejecutar el ejemplo propuesto.
Si una cadena contiene los caracteres \n (Nueva línea), cuando print() muestre su contenido
en la pantalla insertará un salto de línea en ese punto:
print("Hola\nMundo")
# Salida:
# Hola
# Mundo
Consideraciones al usar \t
La tabulación (\t) inserta un número fijo de espacios, que puede variar según el entorno
donde se visualice el texto pero comúnmente equivale a 4 u 8 espacios. Su efectividad para
alinear texto depende de la longitud de las cadenas que lo preceden o siguen. Si las
cadenas son más largas o más cortas de lo esperado la alineación puede no ser la
deseada.
print("Producto\tPrecio")
print("Manzanas\t$ 1.00")
print("Peras\t\t$ 1.50")
# Salida:
# Producto Precio
# Manzanas $ 1.00
# Peras $ 1.50
Más adelante aprenderás otras maneras más efectivas y flexibles de dar formato a las
cadenas de texto.
La función input()
Esta función es una herramienta interactiva que permite a los programas utilizar datos
introducidos por el la persona que usa el programa a través del teclado. Cuando se
ejecuta, input() pausa la ejecución del programa y espera que la persona escriba algo,
devolviendo o “retornando” lo escrito como una cadena de caracteres (string) luego de que
se presione “enter”. Este mecanismo es indispensable para crear aplicaciones interactivas
que requieren la participación de nuestra persona usuaria. Input() tiene los siguientes
propósitos:
Sintaxis básica
La sintaxis básica de input() es:
variable = input(prompt)
Solicitar un nombre:
Este código pedirá a quien interactúe con él que introduzca su nombre y luego le saludará
personalmente. Si alguien introduce el nombre “Mariana”, se imprimirá: “Hola, Mariana”.
Pero no te olvides de algo fundamental: input() siempre devuelve cadenas de caracteres.
Si necesitamos que la persona introduzca un tipo de dato diferente, como por ejemplo un
número entero, necesitamos utilizar las funciones de conversión de tipos de datos.
entero = 10
decimal = float(entero)
print(decimal) # 10.0
En este caso float(entero) utiliza la función float para convertir el número entero 10 a un
número decimal 10.0.
decimal = 3.14
entero = int(decimal)
print(entero) # 3
edad = 25
mensaje = "Tengo " + str(edad) + " años."
print(mensaje) # Tengo 25 años.
Como podés ver, str(edad) convierte el número entero 25 a una cadena de caracteres "25",
permitiendo su concatenación con otras cadenas de caracteres. Si bien pareciera decir lo
mismo en ambos casos, recordá que lo importante es cómo interpreta Python el valor 25.
Al comenzar edad es un número entero y al finalizar es una cadena de caracteres.
cadena_numerica = "123"
numero = int(cadena_numerica)
print(numero + 7) # 130
Aquí, True se convierte a 1 y False a 0, lo cual es muy útil en cálculos que dependen de
condiciones lógicas.
numero = 0
print(bool(numero)) # False
numero = 5
print(bool(numero)) # True
La función type()
Esta función es una herramienta de desarrollo retorna el tipo de dato consultado. ¿Cómo
funciona? Veámoslo con un ejemplo: Imaginate que necesitás saber cómo está
interpretando Python un dato. Para resolverlo le solicitás que imprima el tipo de dato de la
variable “numero”, es decir que nos devuelve su “clase” (<class>), asignando su nombre
como argumento. Se imprimirá “<class ‘int’>”, detectando qué tipo de dato es el objeto
“numero”: un entero. Esto incluye tipos de datos integrados como enteros, flotantes,
cadenas de texto, listas, diccionarios, y más. Veamos algunos otros ejemplos para ilustrar
cómo se utiliza type() verificando el tipo de datos básicos.
numero = 42
print(type(numero)) # <class 'int'>
precio = 19.99
print(type(precio)) # <class 'float'>
esMayorDeEdad = True
print(type(esMayorDeEdad)) # <class 'bool'>
Cada llamada a type() te devuelve el tipo del valor asignado a la variable: int para enteros,
float para flotantes, str para cadenas de texto y bool para booleanos.
¡Epa! ¿Qué hace ese “edad + 1” dentro del print()? En realidad, es bastante intuitivo: le
suma 1 al valor que tenga la variable edad. Algo que sólo se puede hacer si “edad” es una
variable de tipo numérico. Ese “+” es un operador aritmético.
Los operadores.
Se trata de carácteres que actúan sobre una, dos o más variables y/o literales para llevar a
cabo una operación de alguna clase, devolviendo un resultado.
Operadores aritméticos
Dentro de los más comunes están los operadores aritméticos, que son los que utilizamos
habitualmente para realizar cuentas con números en nuestra vida diaria. Python posee los
mismos que encontramos en una calculadora electrónica y agrega algunos más. También
podemos encontrar los operadores lógicos y los relacionales, que analizaremos más
adelante.
Los operadores aritméticos son fundamentales para realizar cálculos en cualquier programa
de Python, y permiten sumar, restar, multiplicar, dividir y mucho más. A continuación,
analizaremos cada uno de ellos con ejemplos:
resultado = 5 + 3 # resultado = 8
resultado = 5 - 3 # resultado = 2
División entera (//): Divide el primer valor entre el segundo y redondea el resultado hacia
abajo para obtener un número entero (int).
resultado = 7 // 3 # resultado = 2
Módulo (%): Retorna o devuelve el sobrante de la división entre el primer y segundo valor.
resultado = 7 % 3 # resultado = 1
resultado = 2 ** 3 # resultado = 8
Ejercicio práctico.
Luego de haber aprendido qué son y cómo se utilizan las variables y cómo podés
interactuar con una persona a través de la terminal, ya podés resolver la tarea que
mencionaron Luis y Mariana. En su siguiente correo, ella te da detalles de lo que necesita
que hagas:
¡Hola!
Saludos,
Mariana”
Estos conceptos serán aplicados para mejorar el programa que creaste hoy, validando que
los datos ingresados sean correctos y clasificando la información según las necesidades de
los usuarios y usuarias. Este es un paso clave hacia la creación de programas más
inteligentes y prácticos. ¡Nos vemos en la próxima clase!