0% encontró este documento útil (0 votos)
4 vistas13 páginas

Tup Pii Python2

El documento aborda el uso de funciones, módulos e imports en Python, destacando la importancia de las funciones para crear código reutilizable y modular. Se explican conceptos como argumentos, parámetros, valores devueltos y cómo importar módulos y funciones específicas. Además, se mencionan varias funciones integradas útiles y se proporciona información sobre la biblioteca estándar de Python.

Cargado por

NK085015
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas13 páginas

Tup Pii Python2

El documento aborda el uso de funciones, módulos e imports en Python, destacando la importancia de las funciones para crear código reutilizable y modular. Se explican conceptos como argumentos, parámetros, valores devueltos y cómo importar módulos y funciones específicas. Además, se mencionan varias funciones integradas útiles y se proporciona información sobre la biblioteca estándar de Python.

Cargado por

NK085015
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

Tecnicatura Universitaria en Programación


Programación II

Funciones, Módulos e Imports

Índice

Funciones​ 2
Sintaxis​ 2
Argumentos y Parámetros​ 3
Valores predeterminados en parámetros​ 3
Argumentos de palabras clave​ 3
Valores devueltos​ 4
Listas como argumentos​ 4
Evitar que una función modifique una lista​ 5
Pasar un número arbitrario de argumentos​ 5
Argumentos arbitrario como diccionarios​ 6
Funciones integradas​ 6
Función max()​ 6
Función min()​ 6
Función divmod()​ 6
Función Hex(x)​ 7
Función len()​ 7
Función chr​ 7
Módulos e Imports​ 8
Importación de un módulo completo​ 8
Cómo importar un módulo desde subcarpetas​ 9
Importación de funciones específicas​ 10
Uso de as para dar un alias​ 10
Importación de todas las funciones en un módulo​ 11
import module_name vs from module_name import *​ 11
Librerías​ 12
Bibliografía​ 13
Versiones​ 13
Autores​ 13

1
Tecnicatura Universitaria en Programación - Programación II

Funciones
Una función te permite definir un bloque de código reutilizable que se puede ejecutar muchas
veces dentro de tu programa.

Las funciones te permiten crear soluciones más modulares y DRY (Don't repeat yourself) para
problemas complejos.

Si bien Python ya proporciona muchas funciones integradas como print() y len(), también
puedes definir tus propias funciones para usar en tus proyectos.

Una de las grandes ventajas de usar funciones en tu código es que reduce el número total de
líneas de código en tu proyecto.

Sintaxis
En Python, una definición de función tiene las siguientes características:
1.​ La palabra clave def
2.​ Un nombre de función
3.​ Paréntesis ’()’, y dentro de los paréntesis los parámetros de entrada, aunque los
parámetros de entrada sean opcionales.
4.​ Dos puntos ’:’
5.​ Algún bloque de código para ejecutar
6.​ Una sentencia de retorno (opcional)

Sintaxis función

def <nombre_función>(<param1>, <param2>, …, <paramN>):


bloque de código

Las funciones son bloques de código que se pueden reutilizar simplemente llamando a la
función. Esto permite la reutilización de código simple y elegante sin volver a escribir
explícitamente secciones de código. Esto hace que el código sea más legible, facilita la
depuración y limita los errores de escritura.

Las funciones en Python se crean usando la palabra clave def, seguida de un nombre de función y
parámetros de función entre paréntesis.

2
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

El nombre de la función se usa para llamar a la función, pasando los argumentos necesarios
entre paréntesis.

Argumentos y Parámetros
La gente a veces habla de argumentos y parámetros indistintamente. Se ve comúnmente el
error de referirse a las variables en una definición de función como argumentos o a las
variables en una llamada de función como parámetros.

Valores predeterminados en parámetros

Puedes definir valores predeterminados para los parámetros, de esa manera Python
interpretará que el valor de ese parámetro es el predeterminado si no se proporciona ninguno.

Argumentos de palabras clave

Puedes pasar los parámetros en el orden que desees, utilizando el nombre del parámetro. Sin
embargo, no es posible pasar un argumento de palabra clave antes que uno que no sea de
palabra clave. Cuando utilice argumentos de palabras clave, asegúrese de utilizar los nombres
exactos de los parámetros en la definición de la función.

3
Tecnicatura Universitaria en Programación - Programación II

Valores devueltos
Una función no siempre tiene que mostrar su salida directamente. En su lugar, puede procesar
algunos datos y luego devolver un valor o un conjunto de valores. El valor que devuelve la
función se denomina valor de retorno .

La declaración return toma un valor desde dentro de una función y lo envía de vuelta a la línea
que llamó a la función. Los valores devueltos le permiten mover gran parte del trabajo duro de
su programa a funciones, lo que puede simplificar el cuerpo de su programa.

Una función siempre devuelve un valor, si se omite la declaración return se devolverá el valor
predeterminado None.

Una función puede devolver cualquier tipo de valor que necesite, incluidas estructuras de
datos más complicadas como listas y diccionarios.

Listas como argumentos


A menudo le resultará útil pasar una lista a una función, ya sea una lista de nombres, números u
objetos más complejos, como diccionarios. Cuando pasa una lista a una función, la función
obtiene acceso directo al contenido de la lista.

4
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

Debido a que la función obtiene acceso a la misma lista que fue pasada como argumento, la
función puede modificar la lista. Cualquier cambio realizado en la lista dentro del cuerpo de la
función es permanente.

Evitar que una función modifique una lista

A veces querrá evitar que una función modifique una lista. Para lograr esto podemos pasar a la
función una copia de la lista, no el original. Cualquier cambio que la función haga a la lista
afectará solo a la copia, dejando intacta la lista original.

function_name(list_name[:])

Aunque puede conservar el contenido de una lista pasando una copia a sus funciones, debe
pasar la lista original a funciones a menos que tenga una razón específica para pasar una copia.
Es más eficiente que una función trabaje con una lista existente, porque esto evita usar el
tiempo y la memoria necesarios para hacer una copia separada. Esto es especialmente cierto
cuando se trabaja con listas grandes.

Pasar un número arbitrario de argumentos


A veces, no sabrá de antemano cuántos argumentos debe aceptar una función.
Afortunadamente, Python permite que una función recopile un número arbitrario de
argumentos de la declaración de llamada.

Por ejemplo, considere una función que construye una pizza. Necesita aceptar una cantidad de
ingredientes, pero no se puede saber de antemano cuántos ingredientes querrá una persona.
La función en el siguiente ejemplo tiene un parámetro, *toppings pero este parámetro recopila
tantos argumentos como proporciona la línea de llamada.

El asterisco en el nombre del parámetro *toppings le dice a Python que cree una tupla llamada
toppings, que contiene todos los valores que recibe esta función. Tenga en cuenta que Python
empaqueta los argumentos en una tupla, incluso si la función recibe solo un valor.

Nota: A menudo verá el nombre del parámetro genérico *args, que recopila argumentos posicionales
arbitrarios.

5
Tecnicatura Universitaria en Programación - Programación II

Argumentos arbitrario como diccionarios


A veces querrá aceptar un número arbitrario de argumentos, pero no sabrá de antemano qué
tipo de información se pasará a la función. En este caso, puede escribir funciones que acepten
tantos pares clave-valor como proporcione la declaración de llamada.

Nota: A menudo verá el nombre del parámetro **kwargs utilizado para recopilar argumentos de
clave-valor no específicos.

Funciones integradas
Python tiene un total de 69 funciones integradas que podemos utilizar sin necesidad de
importar ningún módulo. Explicaremos algunas y se deja al alumno la lectura de la lista
completa [Link]

Función max()

max() es una función incorporada en Python 3. Devuelve el elemento más grande en un iterable
o el más grande de dos o más argumentos.
Esta función toma dos o más números o cualquier tipo de iterable como argumento. Mientras
damos un iterable como argumento, debemos asegurarnos de que todos los elementos del
iterable sean del mismo tipo.

Función min()

min() es una función incorporada en Python 3. Devuelve el elemento más pequeño en un


iterable o el más pequeño de dos o más argumentos.
Esta función toma dos o más números o cualquier tipo de iterable como argumento. Mientras
damos un iterable como argumento, debemos asegurarnos de que todos los elementos del
iterable sean del mismo tipo. Esto significa que no podemos pasar una lista que tenga
almacenados valores enteros y de cadena.

Función divmod()

divmod() es una función incorporada en Python 3, que devuelve el cociente y el resto al dividir
el número a por el número b. Toma dos números como argumentos a & b.
Se necesitan dos argumentos a & b: un número entero o un número decimal. No puede ser un
número complejo.
El valor de retorno será el par de números positivos que consiste en el cociente y el resto
obtenido al dividir a por b.

6
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

Función Hex(x)

hex(x) es una función incorporada en Python 3 para convertir un número entero en una cadena
hexadecimal en minúscula con el prefijo "0x" Esta función toma un argumento, x, que debería
ser de tipo entero y devuelve una cadena hexadecimal en minúscula con el prefijo "0x".

Función len()

len() es una función incorporada en Python 3. Este método devuelve la longitud (el número de
elementos) de un objeto. Esta función toma un argumento, x. Este argumento puede ser una
secuencia (como un string, bytes, tupla, lista o rango) o una colección (como un diccionario,
conjunto o conjunto congelado). Devuelve el número de elementos del argumento que se pasa
a la función len().

Función chr

chr() es una función incorporada en Python 3, para convertir el número entero que representa
el código Unicode en una cadena que representa un carácter correspondiente. Hay que tener
en cuenta que, si el valor entero pasado a chr() está fuera del rango, entonces se generará un
ValueError.

7
Tecnicatura Universitaria en Programación - Programación II

Módulos e Imports
Una ventaja de las funciones es la forma en que separan los bloques de código de su programa
principal. Cuando usa nombres descriptivos para sus funciones, sus programas se vuelven
mucho más fáciles de seguir. Puede ir un paso más allá almacenando sus funciones en un
archivo separado llamado módulo y luego importando ese módulo a su programa principal. Una
declaración import le dice a Python que haga que el código en un módulo esté disponible en el
archivo de programa que se está ejecutando actualmente.

Almacenar sus funciones en un archivo separado le permite ocultar los detalles del código de
su programa y enfocarse en su lógica de nivel superior. También le permite reutilizar funciones
en muchos programas diferentes. Cuando almacena sus funciones en archivos separados,
puede compartir esos archivos con otros programadores sin tener que compartir todo su
programa. Saber cómo importar funciones también le permite usar bibliotecas de funciones
que otros programadores han escrito.

Hay varias formas de importar un módulo.

Todas las declaraciones import deben escribirse al principio de un archivo. La única excepción
es si usa comentarios al comienzo de su archivo para describir el programa general.

Importación de un módulo completo


Para comenzar a importar funciones, primero debemos crear un módulo. Un módulo es un
archivo que termina en .py y que contiene el código que desea importar a su programa.

Sintaxis

import module_name

Supongamos un módulo que contenga la función make_pizza() contenido en el archivo [Link].

Ahora crearemos un archivo separado llamado making_pizzas.py en el mismo directorio que


[Link] . Este archivo importa el módulo que acabamos de crear y luego realiza dos llamadas a
make_pizza().

8
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

Cuando Python lee este archivo, la línea import pizza le dice a Python que abra el archivo
[Link] y copie todas las funciones de este en este programa. En realidad, no ve el código que
se copia entre archivos porque Python copia el código detrás de escena, justo antes de que se
ejecute el programa. Todo lo que necesita saber es que cualquier función definida en [Link]
ahora estará disponible en making_pizzas.py.

Para llamar a una función desde un módulo importado, ingrese el nombre del módulo que
importó.

Este primer enfoque de importación, en el que simplemente escribe import seguido del nombre
del módulo, hace que cada función del módulo esté disponible en su programa.

Importación de funciones específicas


También puede importar una función específica de un módulo. Aquí está la sintaxis general
para este enfoque:

Cómo importar un módulo desde subcarpetas


La sintaxis que vimos recién busca el módulo a importar dentro de la misma carpeta, por lo que
si el archivo a importar se encuentra en otra carpeta de nuestro directorio debemos indicarlo.

Sintaxis

import folder.module_name as module_name

9
Tecnicatura Universitaria en Programación - Programación II

Importación de funciones específicas


También puede importar una función específica de un módulo. Aquí está la sintaxis general
para este enfoque.

Sintaxis

from module_name import function_name

Puede importar tantas funciones como desee de un módulo separando el nombre de cada
función con una coma: from module_name import function_0, function_1, function_2

Con esta sintaxis, no necesita usar la notación de puntos cuando llama a una función. Debido a
que hemos importado explícitamente la función make_pizza( ) en la declaración import,
podemos llamarla por su nombre cuando usamos la función.

Uso de as para dar un alias


Si el nombre de una función que está importando puede entrar en conflicto con un nombre
existente en su programa, o si el nombre de la función es largo, puede usar un alias corto y
único, un nombre alternativo similar a un apodo para la función. Le dará a la función este apodo
especial cuando importe la función.

Sintaxis

from module_name import function_name as fn

La declaración import que se muestra aquí cambia el nombre de la función make_pizza() a mp()
en este programa. En cualquier momento que queramos llamar a make_pizza() simplemente
podemos escribir mp() en su lugar, y Python ejecutará el código make_pizza() mientras evita

10
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

cualquier confusión con otra función make_pizza() que pueda haber escrito en este archivo de
programa.

Importación de todas las funciones en un módulo


Puede decirle a Python que importe cada función en un módulo usando el operador *.

Sintaxis

from module_name import *

El asterisco en la declaración import le dice a Python que copie todas las funciones del módulo
pizza en este archivo de programa. Debido a que cada función se importa, puede llamar a cada
función por su nombre sin usar la notación de puntos.

Sin embargo, es mejor no usar este enfoque cuando trabaja con módulos más grandes que no
escribió: si el módulo tiene un nombre de función que coincide con un nombre existente en su
proyecto, puede obtener resultados inesperados. Python puede ver varias funciones o
variables con el mismo nombre y, en lugar de importar todas las funciones por separado, las
sobrescribirá.

El mejor enfoque es importar la función o funciones que desee, o importar el módulo completo
y usar la notación de puntos. Esto conduce a un código claro que es fácil de leer y comprender

import module_name vs from module_name import *

La diferencia está en la sintaxis con la que luego se accede a los elementos del módulo.

11
Tecnicatura Universitaria en Programación - Programación II

Librerías
Si Python no encuentra el módulo en el directorio actual de trabajo, buscará en las carpetas Lib
y Lib/site-packages, que se encuentran en el directorio de instalación de Python. De modo que
cualquier módulo que se encuentre dentro de alguna de esas dos carpetas podrá ser importado
desde cualquier ubicación. Si revisamos la carpeta Lib, encontraremos ahí ya gran cantidad de
módulos y paquetes:

La librería o biblioteca estándar es un conjunto de módulos y paquetes que se incluyen con


cada instalación de Python y proveen soluciones para problemas comunes (y otros no tanto).

Utilizaremos muchas de las funciones que proveen estas librerías.

12
│DIRECCIÓN DE POSGRADO Y EDUCACIÓN CONTINUA

Bibliografía

[Link]

[Link]

[Link]

Matthes, E. (2023). Python crash course: A hands-on, project-based introduction to


programming. no starch press.

[Link]

Versiones

Fecha Versión

25/07/2023 1.0

Autores

María Mercedes Valoni

13

También podría gustarte