Está en la página 1de 19

Sesión III

Objetos, funciones y librerías


INTRODUCCIÓN

¡Hola de nuevo! Ya vamos en la tercera sesión de Python.

En esta sesión revisaremos otro tipo de datos muy importante: los objetos.
También introduciremos lo que son las funciones y librerías, dos
componentes esenciales de la programación que te servirán para construir
operaciones más complejas.
¡Comencemos!
¿QUÉ APRENDEREMOS?

Hoy veremos los siguientes temas:


 
• Objetos
• Síntesis tipos de datos
• Funciones básicas
• Definir una función
• Librerías
OBJETOS (I)
Entre los tipos de datos existe uno especial: los “objetos”. Estos son instancias de una clase, las cuales son una
representación o abstracción de algún elemento de la realidad. No es necesario comprender en detalle qué es un objeto o
una clase para este curso, pero sí entender parte de su lógica. Por ejemplo, definiremos la siguiente clase con el comando
“class”.

Esta clase contiene 2 propiedades, las cuales podemos “llamar” desde su objeto. El objeto lo entenderemos como la
versión ya en uso o instanciada de la clase. Las propiedades se llaman desde el objeto poniendo un punto más el nombre
de la propiedad, así:

Por otra parte, si asignamos el objeto a una variable, ésta operará como tal objeto, permitiéndole acceder a sus
propiedades:

Si gustas profundizar, puedes investigar sobre “programación orientada a objetos”.


OBJETOS (II)
Por otra parte, dado que las propiedades de las clases son técnicamente variables, estas pueden ser modificadas desde su
objeto. Por ejemplo, si quisiéramos que un perro que ladre en otro idioma, podríamos hacerlo así:

También podríamos agregar nuevas propiedades a nuestro objeto, por ejemplo, guardando varios idiomas.

Cualquier futuro objeto de la instancia “perro” heredará estas propiedades y podrá usarlas. ¡Te invitamos a probarlo!
OBJETOS (II)
Por último, una clase también puede tener elementos más complejos como funciones, llamados métodos en el contexto
de las clases. En este caso, pondremos una función que sume 2 valores dentro de la clase y la llamamos desde el objeto
así:

Técnicamente, todo tipo de dato o entidad que manipulamos dentro de Python puede ser entendido más generalmente
como un objeto, así cuando creemos una lista, hablaremos de un objeto de tipo lista, o de un objeto lista, los cuales, como
se vio en la sesión anterior, tenían sus respectivas propiedades o métodos.
SÍNTESIS TIPOS DE DATOS
Para resumir, hemos visto los siguientes tipos de datos:
Nombre Nombre en Ejemplos Descripción
Python

Enteros int 1, 3, 25 Valores numéricos sin decimales

Flotantes float 2.5, 3.0, 0.14 Valores numéricos con decimales

Cadenas str “hola”, ‘adios’, “3” Texto escrito entre comillas simples o dobles

Listas list [1, 2, 3], [“hola”, 3, 2.5, ‘adios’] Colección de valores de distinto tipo encerrados en corchetes, y separados
por comas. Su primera posición o índice comienza en 0, no en 1.

Booleanos bool True, False Valor lógico que indica si una expresión o proposición es verdadera o falsa,
también pueden ser leídos como 0 (False) y 1 (True)

Objetos type class perro: Estas son instancias de una clase, que representan alguna abstracción o
class gato: representación de algún elemento, el cual contiene propiedades y métodos
class persona:

Existen algunos otros tipos de datos que te recomendamos investigues si deseas profundizar en tu aprendizaje. Gran parte
de aprender a programar incluye trabajo autodidacta.
Ahora explicaremos un elemento que integrará gran parte de lo que hemos visto, necesario para comenzar a programar: las
funciones.
FUNCIONES BÁSICAS (I)
Hasta ahora hemos visto 2 funciones print() y type(), la primera nos permite mostrar cosas por consola y la segunda nos indica
los tipos de datos. Pero ¿qué es una función?
Una forma de entenderlas es como un mecanismo que recibe uno o varios parámetros de entrada
(input), para los cuales define una serie de procedimientos u operaciones y que produce un resultado.
Así, la función print() recibe como input una variable, la cual convierte internamente en algo visible
para la consola y finalmente lo visualiza en la pantalla.

Dado ello, tenemos funciones de todo tipo, tal vez una de las más básicas sea una suma, que en Python es sum().

Notar que como input no ingresamos números, sino una lista de números, las que como vimos anteriormente, se asignan con
corchetes “[]”. Esto es porque la función suma va iterando o repitiendo una secuencia para poder sumar, acumulando el valor.
Veremos esto en más detalle en las siguientes sesiones.
FUNCIONES BÁSICAS (II)
Aunque es preciso señalar que si bien la definición de función que dimos refiere al ingreso de un parámetro, un procedimiento
interno y uno de salida, esto es más bien una abstracción y no implica que toda función en Python deba especificar un
parámetro o un retorno.

Por ejemplo, podemos tener una función que solo imprima un valor, así:

En las próximas sesiones programaremos funciones más avanzadas que operan de esta forma.
FUNCIONES BÁSICAS (III)
Veamos otras funciones útiles.
Por ejemplo:

Obtenemos su valor máximo max()

Obtenemos su valor mínimo min()

La cantidad de elementos de la lista len()


DEFINIR UNA FUNCIÓN (I)
Pero lo más útil de las funciones es que puedes programar las tuyas propias. Muchos problemas en la programación son
repetitivos o generalizables, por lo que son susceptibles de ser capturados en una función, o una red de estas. Para crear una
función en Python se usa el comando “def” de definición, el nombre de la función, paréntesis, un parámetro dentro de los
paréntesis (opcional) y dos puntos.

Por ejemplo, una función que evalúa si un número es par, se vería así:

Notar que esto devuelve un valor booleano: True si el número es par, y False si no.
Si la función retorna algún valor, como en este caso, debe especificarlo con la sentencia return, si no, no es necesaria como
ocurría con la función buenos_dias() creada anteriormente.
DEFINIR UNA FUNCIÓN (II)
Debajo del nombre de la función, hemos dejado un espacio, el cual es obligatorio ya que es una propiedad de la sintaxis de
Python, y se le conoce como indentación. Posteriormente, al aplicar otras estructuras, como las iteraciones o los
condicionales anidados, se requerirá especial atención a la indentación.

Indentación
La ventaja de usar Spyder es que realiza la indentación por sí solo al apretar la tecla “Enter”. Pero de no ser así, si un
elemento no está correctamente indentado, Python arrojará error y lo indicará en el código, por ejemplo:

Una forma práctica de indentar una línea es con la tecla “tab” o pulsando la tecla espacio hasta que el error desaparezca.
DEFINIR UNA FUNCIÓN (III)
Visto esto, pasemos a probar la función que programamos con 2 ejemplos. Ejecuta desde tu IDE esta función con
distintos valores ¿obtienes el resultado deseado?

¿Qué crees que ocurriría si ingresamos otro valor, como un texto?

¿Y si ingresamos un valor booleano?


DEFINIR UNA FUNCIÓN (IV)
De esta forma, también podemos anidar funciones dentro de otras funciones. Por ejemplo, para construir una función que
identifique impares, podemos usar la negación de la función esPar().

Notar que usamos el operador lógico “not”, que implica negar lo que arroja la función esPar(). Si la función esPar() identifica
que un valor es impar, devuelve False (dado que no es par). De esta manera, esImpar() invierte los resultados de esPar(), y al
identificar un número impar, devuelve True.

La premisa de esta operación, es que ambos conjuntos (pares e impares) son mutuamente excluyentes: todo número par NO
es impar y viceversa.

Veamos si la función hace lo que se espera. Prueba desde tu código con distintos valores.
DEFINIR UNA FUNCIÓN (V)
También podríamos convertir en función nuestro ejercicio anterior de calcular el retorno, de esta forma:

Observa que esta vez introdujimos dos parámetros a la función ¿cuántos parámetros permite una función?
¡Todos los necesarios!
No obstante, esta función parece un poco inadecuada, por ejemplo ¿qué sucede si quiero que solo me responda mi
pregunta de si debo invertir o no? En las siguientes sesiones haremos funciones mucho más complejas que nos permitan
responder este tipo de preguntas.
Ahora, si bien es importante aprender a programar tus propias funciones, existe una gran comunidad de personas que
trabaja con Python, que ya ha desarrollado múltiples funciones para distintos propósitos, las cuales están empaquetadas
en librerías, las que veremos a continuación.
LIBRERÍAS (I)
Como mencionamos anteriormente, las librerías empaquetan una serie de funcionalidades para distintos fines, desde obtener
la fecha del día, hasta la visualización de datos o el uso de técnicas de inteligencia artificial, lo cual es posible en Python.
En este curso usaremos varias librerías que iremos presentando en las próximas sesiones. Por ahora veamos cómo generar
números aleatorios. Para esto, importamos la librería random al inicio del código (ver scripts de sesión, ejercicio 11).

También podemos generar nuestro primer número aleatorio, en este caso, entre 0 y 1.

Por otro lado, es común importar librerías con alias o apodo, haciendo más ágil su uso. En la siguiente instrucción asignamos el
alias “rd” a la librería random.

En este caso la librería opera como un objeto de la clase random, permitiendo llamar sus métodos o funciones.
LIBRERÍAS (II)
Es común que las librerías tengan más de un módulo, por lo que si queremos usar un componente específico de la librería,
debemos señalarlo. Por ejemplo, si queremos imprimir la fecha del día, lo podemos hacer con el módulo date de la librería
datetime.

En este caso, la consulta se realizó el día 07-08-2020. Notar que también asignamos un alias, que es un paso opcional.

Por último, cabe destacar que no todas las librerías vienen por defecto, y deben ser instaladas, al igual como se instaló Spyder
en la sesión 1, con pip install y el nombre de la librería.

En general, las librerías se activan automáticamente después de instaladas, pero si presentan problemas al importar, pueden
reiniciar el núcleo con “ctrl + .” desde la consola de Spyder o cerrando y volviendo a abrir el programa.
CIERRE

¡Felicidades! Completaste la Sesión 3 del curso.

En esta sesión aprendiste sobre los objetos y cómo definirlos en Python, algunas funciones básicas y cómo crear las tuyas
propias. También vimos que Python cuenta con múltiples librerías, las cuales entregan múltiples herramientas programadas
por una comunidad, listas para su uso.
Te invitamos a que descargues el script de la Sesión 3 donde encontrarás todos los elementos vistos, para que refuerces los
contenidos.

En la siguiente sesión veremos la estructura de algoritmos y cómo los condicionales e iteraciones, nos ayudan a darle más
poder a nuestros códigos.

¡Te esperamos!

También podría gustarte