Curso de programación

Clase 3: Introducción a Python

Introducción a Python

¿Qué es Python?

Python es un lenguaje de programación de alto nivel, de propósito general e interpretado con objetos, módulos, threads (hilos), excepciones y administración de memoria automática.

Es un lenguaje simple y fácil de aprender pero muy poderoso.

Python

Hasta la fecha (abril de 2023) Python se mantiene como el lenguaje con mayor cantidad de consultas en la famosa plataforma Stack Overflow.

Fuente: Stack Overflow Trends

Cualidades de Python

Entre las cualidades que lo hacen ser el más elegido podemos destacar:

  • Fácil de aprenderSintaxis muy sencilla que se asemeja bastante al pseudocódigo. Poco código hace mucho.
  • De propósito generalDesarrollo web, ciencia y educación, desarrollo de interfaces gráficas, machine learning, finanzas y trading, visualización de datos.
  • Comunidad enormeDesde 2018 es el top 1 en consultas en el sitio Stack Overflow.
  • Gratis y de código abiertoNo se necesita de licencias ni un hardware de desarrollo especial para programar en Python. Está en constante desarrollo por una comunidad de desarrolladores de todo el mundo.

Caracteristicas de Python

  • Lenguaje interpretado NO es un lenguaje compilado. El intérprete de Python corre directamente sobre el código fuente sin necesidad compilar el código.
  • Tipado dinámicoEs de tipado dinámico porque una variable puede tomar valores de distintos tipos.
  • Orientado a objetos Soporta el paradigma de programación orientada a objetos. Será visto en el curso mas adelante.
  • MultiplataformaEl mismo código funciona en Windows, Linux, MacOS sin cambiar nada.
  • Tiempos de desarrolloSe programa mucho en poco tiempo tanto de aprendizaje como de desarrollo.

El intérprete Python

El intérprete de Python es el programa que se encargará de traducir línea por línea nuestro programa a lenguaje de máquina para que el programa sea ejecutado por una computadora.

El intérprete puede ejecutar uno (o varios) archivos, generalmente con extensión .py o también puede ejecutarse en modo shell. En los siguientes enlaces puede encontrar intérpretes de Python online y gratuitos.

¿Preguntas?

Temas vistos hasta ahora

Lo visto hasta ahora en el curso

Hasta el momento hemos visto los siguientes conceptos poniéndolos en práctica con pseudocódigo.

A continuación veremos en sintaxis de Python a realizar cada una de las listadas.

Variables en Python

Definición de variables en Python

Es muy sencillo definir variables en Python ya que al momento de la creación de la misma no es necesario especificar el tipo de datos, simplemente se le asigna un valor.


						a = 86 			# Es tipo int
						b = 29.2		# Es tipo float
						c = "Hola"	# Es tipo str (string)
						d = False		# Es tipo bool
						e = None		# Es tipo NoneType (vacía)
					

Comparaciones

Las comparaciones entre tipos serán las mismas vistas en la clase anterior.

Operaciones de aritmética

Operaciones de aritmética

Las operaciones de aritmética entre tipos serán las mismas vistas en la clase anterior.

¿Preguntas?

Constantes en Python

Constantes en Python

Las constantes contienen datos igual que las variables. En principio la constante está diseñada para que el valor que tenga no cambie y se mantenga constante durante la ejecución del programa.

Sin embargo, en Python NO existen las constantes como tal. Ya que no dispone de un mecanismo para declararlas. Pero es posible "simular" el uso de las mismas.

La convención para nombrar constantes es hacerlo con el nombre todo en mayúsculas, de esta forma, aunque en realidad estemos trabajando con variables, quien esté trabajando con el programa, sabrá a simple vista que se trata de una constante y que no hay que reasignarle ningún valor.


						CONSTANTE = "Un valor"
						print(CONSTANTE)
					

¿Cuándo debemos usar constantes?

Las "constantes" las debemos utilizar para contener datos que no tienen que variar, que siempre serán iguales, como por ejemplo, los días de una semana o las horas de un día.


						MINUTOS_HORA = 60
						HORAS_DIA = 24
						DIAS_SEMANA = 7
					

Las constantes son una parte importante de la programación, y se utilizan para representar datos que no cambian en un programa. Su uso puede hacer que el código sea más legible, evitar errores y facilitar el mantenimiento del código. Es importante comprender el concepto de constantes para poder utilizarlas correctamente en la programación.

¿Preguntas?

Estructuras de control en Python

Salida de datos a pantalla

La instrucción imprimir() que vimos en las primeras clases, se reemplaza por la instrucción print()


							print("Hola alumnos y alumnas")
							print("Esto es una salida de texto a pantalla")
						

Output


							Hola alumnos y alumnas
							Esto es una salida de texto a pantalla
						

Estructura de selección

si/sino se remplaza por if/else respectivamente.


							x = 86
							y = 40
							if (x > y):
								print(f"x es mayor a y. ({x}>{y})")
							else:
								print(f"x NO es mayor a y. ({x}<={y})")
						

Output


							x es mayor a y. (86>40)
						

Observar el : luego del if y el else. Recordar que el else, al igual que el sino es opcional.

Estructura de selección

En Python existe una sintaxis abreviada por si tenemos que usar un if seguido de un else.


							if (x > y):
								print(f"x es mayor a y. ({x}>{y})")
							else:
								if (x == y):
									print(f"x es igual a y. ({x}={y})")
								else:
									print(f"x es menor a y. ({x}<={y})")
						

Forma corta


							if (x > y):
								print(f"x es mayor a y. ({x}>{y})")
							elif (x == y):
								print(f"x es igual a y. ({x}={y})")
							else:
								print(f"x es menor a y. ({x}<={y})")
						

Iteración

El mientras() se remplaza por while()


							while(True):
								print("¡Hola alumnos y alumnas!")
						
¿Cuál les parece que es la salida de ese programa?

								¡Hola alumnos y alumnas!
								¡Hola alumnos y alumnas!
								¡Hola alumnos y alumnas!
								... # Al infinito o que el programa se detenga
								¡Hola alumnos y alumnas!
							

La instrucción vista, se le conoce como un loop infinito. Como la condición de corte del while siempre será True, el bloque del while se ejecutará siempre a menos que el programa termine, o se rompa el loop con una instrucción, por ejemplo con break o return.

Iteración

El mientras() se remplaza por while()


							x = 0
							while(x < 5):
								print(f"x ahora vale {x}. Se incrementará en 1")
								x = x+1
							print(f"Llegó a {x}")
						
¿Qué imprime el programa?

								x ahora vale 0. Se incrementará en 1
								x ahora vale 1. Se incrementará en 1
								x ahora vale 2. Se incrementará en 1
								x ahora vale 3. Se incrementará en 1
								x ahora vale 4. Se incrementará en 1
								Llegó a 5
							

Repetición/Iteración

La estructura de repetición vista, es en realidad una iteración que va iterando sobre un elemento o cantidad de veces predefinidas. La instrucción que se usa es for. Si la queremos usar para repetir un número predeterminado de veces se usa así:


							for i in range(4):
								print(i)
						

Esta operación es muy interesante. Se usa una variable i (el nombre puede ser cualquiera) como una forma de representar el iterador, es para identificar por cual de las "veces" se está ejecutando. La salida será:


							0
							1
							2
							3
						

También es importante resaltar que siempre se arranca desde 0. Así que lo tenemos que tener muy en cuenta. Mas info sobre range()

Repetición/Iteración

Iteración en un string. En este caso iterará sobre cada letra.


							for l in "Hola!":
								print(l)
						

output


							H
							o
							l
							a
							!
						

La instrucción for se usa para iterar sobre muchos objetos que permiten que se iteren sobre sí. Puede ver mas ejemplos en este enlace.

¿Preguntas?

Entrada de datos

Entrada de datos (input)

Al igual que lo visto en la clase pasada la instrucción que usa Python para ingresar datos por teclado es input().


							print ("Ingrese un valor para x: ")
							x = input()
							y = input("Ingrese un valor para y: ") # Mas corta
						

Salida:


						Ingrese un valor para x: 
						34
						Ingrese un valor para y: 34
						

Entrada de datos (input)

Se puede usar el parámetro string del input como en print


							x = 10
							x = input(f"Ahora x={x}. Ingrese un valor remplazarlo: ")
							print(f"Ahora x={x}")
						

salida


								Ahora x=10. Ingrese un valor remplazarlo: 32
								Ahora x=32
							

Tipo de datos de input

Es muy importante saber que TODOS los datos ingresados por input, Python los asumirá como si fueran strings (str). Por lo tanto, si queremos manejar números debemos convertirlos.

Conversión de tipos de datos

Veamos un ejemplo


							x = input("Ingrese un número para obtener su suma: ")
							print(f"La suma x+x es {x+x}")
						

¿Qué imprime el programa si ingresamos el valor 89?


								Ingrese un número para obtener su suma: 89
								La suma x+x es 8989
							

¿Por qué pasa esto? Porque se trata de "sumar" dos string, pero eso da una concatenación.

Conversión de tipos de datos

Veamos otro ejemplo


							x = input("Ingrese un número para obtener su cuadrado: ")
							print(f"El cuadrado x*x es {x*x}")
						

¿Qué imprime el programa si ingresamos el valor 4?


								TypeError: can't multiply sequence by non-int of type 'str'
							

Da un error y el programa se cierra. Dice que no se puede multiplicar un str.

Necesitamos hacer conversión de tipos.

Conversión de tipos

Tipo Destino Instrucción Ejemplo
int int() y= int(x)
float float() y= float(x)
string str() y= str(x)
En los ejemplos de los casos anteriores se creó una variable y para volcar el resultado de la conversión. De esa manera se mantiene en x el valor original. Pero se podría haber reemplazado el valor de x por el convertido si ya no se necesita. Veamos los ejemplos anteriores corregidos:

Conversión de tipos de datos

Ejemplo suma corregido


							x = int(input("Ingrese un número para obtener su suma: "))
							print(f"La suma x+x es {x+x}")
						

La conversión de tipo se hace inmediatamente después del input. x ahora tiene un int.


							Ingrese un número para obtener su suma: 89
							La suma x+x es 178
						

Conversión de tipos de datos

Ejemplo cuadrado corregido


							x = input("Ingrese un número para obtener su cuadrado: ")
							print(f"El cuadrado x*x es {int(x)*int(x)}")
						

La conversión de tipo se hace en el print dentro de la operación.


							Ingrese un número para obtener su cuadrado: 4
							El cuadrado x*x es 16
						

Si hicieramos un print(x) ¿Qué valor daría?

¿Preguntas?

Métodos para tipos string

Métodos strings

Existen diversas funciones (métodos) para poder manipular strings, obtener información, transformación, etc.

Por ejemplo, pasar el string a mayúsculas, minúsculas, saber si es un número, etc. La lista es larga, pero péguele una mirada que le puede ser de mucha ayuda.

Métodos en Python para String

Ejercicios en clase

Ejercicio en clase 1

Escriba un programa en Python que imprima por pantalla ¡HOLA MUNDO!.

Utilice alguno de los intérpretes online vistos en clase.

Ejercicio en clase 2

Escriba un programa en Python que imprima tres veces por pantalla ¡HOLA MUNDO!.

Ejercicio en clase 3

Escriba un programa en Python que solicite al usuario ingresar su nombre e imprima un saludo, por ejemplo "¡Hola Cristian!".

Ejercicio en clase 4

Escriba un programa en Python que solicite al usuario ingresar dos números y devuelva la suma de ellos.

¡Fin de la clase!

Ir al inicio
Práctica 3
Exportar clase a PDF

Bibliografía