Programación - Ingeniería en Geología
Profesor: Santiago Quiñones
Docente Investigador
Departamento de Ingeniería Civil
Funciones con parámetros obligatorios y opcionales
Tipos de parámetros en una función
def es_mayor(x, y):
return x > y
Si has estado jugando con el lenguaje, sabrás que a la hora de definir una función puedes indicar una serie de parámetros.
>> es_mayor(5, 3)
True
Al invocar la función, lo haremos de la siguiente manera:
por defecto, los valores de los argumentos se asignan a los parámetros en el mismo orden en el que los pasas al llamar a la función.
Parámetros posicionales y parámetros con nombre
def introduccion(nombre, apellido):
print("Hola, mi nombre es", nombre, apellido)
# paso de parámetros posicionales
introduccion("Jorge", "Ramos")
introduccion("María", "Castillo")
introduccion("Cristina", "Guaman")
# paso de parámetros con palabra clave
introduccion(nombre = "James", apellido = "Bond")
introduccion(apellido = "Skywalker", nombre = "Luke")
1
2
3
Abrir enlace
Parámetros opcionales
# para casos donde algunos valores de ciertos argumentos son más
# utilizados que otros
def introduccion(first_name, last_name="Peréz"):
print("Hola, mi nombre es", first_name, last_name)
introduccion("Jorge", "Castillo")
Son parámetros que se indican con un valor por defecto y si no se pasan al invocar a la función entonces toman este valor.
¿Puedes predecir la salida del programa?
¿Y? No parece haber cambiado algo, pero cuando se invoca de una manera inusual.
introduccion("Enrique")
introduccion(first_name="Guillermo")
Abrir enlace
Ámbito de las variables
Variables locales y globales
Modularidad: Cada función debe tener una tarea específica y claramente definida.
Nombres descriptivos: Elige nombres significativos para tus funciones.
Encapsulamientos de datos: Evita variables globales y pasa los datos como argumentos.
Documentación: Incluye comentarios o documentación clara dentro de las funciones
Reutilización de código: Envuelve tareas similares en funciones reutilizables.
Pruebas: Realiza pruebas para verificar el comportamiento de las funciones.
No es más que un archivo que contiene instrucciones y definiciones (variables, funciones, clases, ...)
El fichero debe tener extensión .py
y su nombre se corresponde con el nombre del módulo.
Los módulos tienen un doble propósito:
Si se tienen dos archivos creados por nosotros de la siguiente manera:
Según el teorema de Pitágoras el cuadrado de la hipotenusa es igual a la suma del cuadrado de los catetos: (C² = A² + B²). Utilizando este concepto es posible conocer de que tipo es un triángulo:
Crear un modulo teoremas.py con la función pitagoras que devuelva el tipo de triángulo.
Dados cuatro números reales que representan coordenadas cartesianas: (x1,y1),(x2,y2). Escribe una función distancia(x1, y1, x2, y2)
para calcular la distancia entre los puntos (x1,y1) y (x2,y2). Lea cuatro números reales e imprima la distancia resultante calculada por la función.
La fórmula de distancia entre dos puntos es:
Agregar al módulo matematicas.py y realizar pruebas
Escriba una función llamada car2pol que tome como argumentos las coordenadas de un punto (x,y) en el plano cartesiano. La función deberá calcular "r" y "a" a partir de "x" y "y".
Instrucciones:
- Definir la función car2pol.
- Pedir al usuario las coordenadas cartesianas (x,y) del punto.
- Utilizar la función car2pol para convertir las coordenadas cartesianas a polares.
- Imprimir los valores de r y a obtenidos.
arctan: La función arctan en Python es proporcionada por el módulo math y se llama atan(). Esta función devuelve el arco tangente de un número en radianes.
Tema | URL |
---|---|
Espacios de nombres, módulos | https://j2logo.com/python/tutorial/espacios-de-nombres-modulos-y-paquetes/ |
Parámetros posicionales y parámetros con nombre en una función | https://j2logo.com/tipo-parametros-funcion-python/ |
Variables locales y globales | https://snakify.org/es/lessons/functions/ |
Funciones y parámetros | https://j2logo.com/python/tutorial/funciones-en-python/#function-params |
Importing Your Own Python Modules Properly | https://www.youtube.com/watch?v=GxCXiSkm6no&ab_channel=NeuralNine |