0% encontró este documento útil (0 votos)
20 vistas43 páginas

Funciones Python

El documento explica los conceptos básicos de las funciones en Python, incluyendo su definición, parámetros posicionales y con nombre, parámetros opcionales, ámbito de variables locales y globales, parámetros por valor y referencia, y el uso de argumentos con el asterisco para recibir una cantidad variable de parámetros.

Cargado por

Ceci Saavedra
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)
20 vistas43 páginas

Funciones Python

El documento explica los conceptos básicos de las funciones en Python, incluyendo su definición, parámetros posicionales y con nombre, parámetros opcionales, ámbito de variables locales y globales, parámetros por valor y referencia, y el uso de argumentos con el asterisco para recibir una cantidad variable de parámetros.

Cargado por

Ceci Saavedra
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
Está en la página 1/ 43

2

Ejemplo:
Función

def saluda():
print ("Ejemplo de Función")

saluda()

3
4
5
Función sin parámetros:

def suma():
A=100; B=200
S = A + B
print("Resultado: ", S)
Se Invoca a la función
suma() Se llama al función
Se ejecuta la función

6
Función con parámetros:

def multiplica(A,B):
M = A * B
print("Resultado: ", M)

multiplica(2,10)

7
Función con la palabra return: • La palabra return devuelve un valor de salida de la función.
Al nombre de la función se le asigna un tipo de dato.
• Pueden existir varias palabras return en una función.
• La palabra return es opcional

#Evalua la expresion f(x) = 3x**2 - 5x -1


def f(x):

return 3*x**2 - 5*x - 1

print(f(0.5))
#Devuelve: -2.75
8
Función con varios return:

#Función con varios return


def es_par(numero):
if numero % 2 == 0:
return True
else:
return False

print (es_par(2)) #True


print (es_par(5)) #False

9
Función con un return que devuelve varios valores:
# Función que recibe segundos y retorna hora, minutos y segundos
def Convertir_A_HMS(seg):
# Horas = Divisíón entera de los segundos entre 3600
h = seg//3600
# Saldo de segundos
seg = seg - h*3600
# Minutos = División entera de los segundos entre 60
m = seg//60
# Saldo de segundos
seg = seg - m*60
# saldo final en segundos
s = seg
return h,m,s

hor,minu,seg = Convertir_A_HMS(1500) 10
print("Corresponde a ",hor,":",minu,":",seg)
# agregar espacio después
de cada caracter

Parámetros o
argumentos

def Espaciar(cad):
cad = cad.replace(""," ")
return cad

print( Espaciar("mensaje") )

# Retorna: m e n s a j e

11
Opcionales: Los parámetros opcionales se indican con el
operador ‘=’, tienen un valor por defecto y
siempre se definen después de los parámetros
obligatorios.
Los parámetros pueden ser:
Posicionales: Son aquellos parámetros en los que el valor en el
que se asignan los argumentos depende del orden
con el que se llaman.

Con nombre: Son aquellos parámeros en los que se indica su


nombre.

12
Parámetro
opcional

Ejemplo1: def saludo(nombre, mensaje = 'saludos cordiales' ):


print(f"Hello {nombre}: {mensaje} ")

saludo('Juan')

Ejemplo2: def saludo( mensaje = 'saludos cordiales', nombre ):


!Error¡ print(f"Hello {nombre}: {mensaje} ")

saludo('Juan')
13
Parámetro Parámetro
posicional u posicional u
obligatorio obligatorio

def saludo(nombre, mensaje):


print(f"Hello {nombre}: {mensaje} ")

saludo('Juan','Saludos cordiales')

14
def saludo(nombre, mensaje):
print(f"Hello {nombre}: {mensaje} ")

saludo(mensaje='Saludos cordiales', nombre='Juan')

Parámetro con
nombre en Parámetro con
cualquier orden en nombre en cualquier
la invocación orden en la
invocación
15
¡ Recuerda ! :

• Por defecto u omisión, los argumentos se asignan en el mismo orden en el que


se pasan.
• Los parámetros opcionales se indican con el operador ‘=’, tienen un valor por
defecto y siempre se definen después de los parámetros obligatorios.
• Si se indica el nombre de los parámetros No es importante el orden. Los
parámetros con nombre siempre aparecen después de los posicionales.

16
def muestra_x():
x = 10
✓ El ámbito de una variable define dónde puede usarse esa print(f'Local x = {x}')
variable
✓ Una variable local declarada en un bloque de programa,
solamente puede ser usada en ese bloque x = 20
✓ El ámbito de una variable también aplica a las funciones

Locales – Se declaran y utilizan dentro de


un contexto específico. No se puede hacer
referencia a ellas fuera de la sección de
código donde se declara.
Ámbito de variables
Globales – Se declaran fuera del cuerpo de
cualquier función

17
def muestra_x():
Variable x = 10
local print(f'Local x = {x}')

x = 20
Variable
global

18
Uso de la palabra global en una variable
Anidamiento de funciones.
def funcion_a(): def funcion_a():
# global x global x
x = 2 x = 2
def funcion_b(): def funcion_b():
# global x global x
x = 3 x = 3
print(x) print(x)
funcion_b() funcion_b()
print(x) print(x)

x = 1 x = 1
funcion_a() funcion_a()
print(x) print(x)
19

Salida: 3 2 1 Salida: 3 3 3
¡ Todos los parámetros se pasan por referencia !, sin embargo.
PARAMETROS POR VALOR PARAMETROS POR REFERENCIA
Los parámetros por valor se refieren a los tipos de Los parámetros por referencia se refieren a los tipos de
datos inmutables, como los números y las cadenas. datos mutables, como las listas y los diccionarios.

def duplicar(numero): def agregar_elemento(lista, elemento):


numero *= 2 lista.append(elemento)
return numero
mi_lista = [1, 2, 3]
num = 5 agregar_elemento(mi_lista, 4)
print(duplicar(num)) #Resultado: 10 print(mi_lista) # Resultado: [1, 2, 3, 4]
print(num) # Resultado: 5
Como las listas son mutables y se pasan por referencia, el
El valor original de la variable "num" fuera de la
valor original de la lista se modifica dentro de la función
función no se ve afectado. 20
y se ve afectado fuera de la función también.
Tupla: colección de datos inmutable
def sumar(*args):
total = 0
for argumento in args:
total += argumento
return total

# Ejemplo de uso
resultado = sumar(1, 2, 3, 4, 5)
print(resultado)
# Retorna: 15

El uso del asterisco en la definición de argumentos, permite que la función reciba un número
variable de argumentos, lo que hace que el código sea más flexible y reusable. 21
1. Cómo identifico a una Función sin parámetros ?
2. Cómo identifico a una Función con parámetros ?
3. Cuándo un argumento se llama opcional ?
4. Cuándo un argumento se denomina posicional ?
5. Por qué se invoca a un parámetro por su nombre?
6. Qué Función se denomina anidada ?
7. Cuándo se usa la palabra global ?

22
1. Cómo identifico a una Función sin parámetros ?

def mensaje():
print (“El sistema operativo es el alma del ordenador")

mensaje()

23
2. Cómo identifico a una Función con parámetros ?

def cuenta(frase):
palabras = len(frase.split())
print ("Cantidad de palabras: ",palabras)
cuenta("Python es un intérprete ")

24
3. Cuándo un argumento se llama opcional ?

def saludo(email, mensaje = 'saludos cordiales' ):


print(f"Hello {email}: {mensaje} ")

saludo('[email protected]')

25
4. Cuándo un argumento se denomina posicional ?

def unir(s1,s2):
print('s2 es separado por s1 :', s1.join(s2))

unir(',','123456’)
#Muestra: 1,2,3,4,5,6

26
5. Por qué se invoca a un parámetro por su nombre ?

def red(email,password):
print(email +' '+password)
red(password='Clauss@hoffman', email='cla123')

27
6. Qué Función se denomina anidada ?

#Anidamiento de funciones
def funcion_externa(x):
# oculta del codigo externo
def funcion_interna(x):
return x + 2
y = funcion_interna(x)
print(x, y)

funcion_externa(5)

Cuáles son los valores finales de x, y ? 28


7. Cuándo se usa la palabra global ?

fecha = "17-06-2002"
def actualizar_fecha():
global fecha
fecha = "12-03-2021"

actualizar_fecha()
print(fecha)

Cuándo es la salida ? 29
8. Cuándo se usa el operador * ?

def printall(*args): # El * indica cualquier número de argumentos


print(args)

printall(1, 2.0, ‘3’) #Muestra: (1, 2.0, '3')

30
Funciones

31
Desarrollar una función para encontrar las raíces de la ecuación cuadrática:
ax2 + bx + c = 0

Ejemplo1: Ejemplo2: Ejemplo3:


x2 – 7x + 12 = 0. 7𝑥 1 54 2
𝑥2 − + =0 𝑥 𝜋 = 9.19
6 3 360

x1=4.0 X1=0,66 X1=4,42


x2=3.0 X2=0,5 X2=-4,42

32
Codificar un programa que permita capturar una frase, esta frase se pasará a una
función como parámetro. Esta función devolverá la cantidad de vocales y
consonantes de la frase

Ejemplo1. Ejemplo2.
Frase = ‘Divide y vencerás’ Frase = ‘DIVISIÓN por cero’
Cantidad de Vocales = 7 Cantidad de Vocales = 7
Cantidad de Consonantes = 8 Cantidad de Consonantes = 8

Ejemplo3.
Frase = ‘ORACIÓN O PRUEBA’
Cantidad de Vocales = 8
Cantidad de Consonantes = 6
33
Implementar una función que devuelva la sumatoria de los cuadrados de N valores
aleatorios comprendidos entre 100.00 y 250.99. Muestre el resultado final en
notación científica.
Ejemplo1. Ejemplo2.
N = 10 N = 100
Suma = 1.26e+05 Suma = 1.24e+05

Ejemplo3.
N = -1
Suma = 0.00e+00

#Genera reales
#genera enteros
import random
import random 34
numero_aleatorio = random.uniform(10, 20)
numero_aleatorio = random.randint(1, 10)
print(numero_aleatorio)
print(numero_aleatorio)
Dado un conjunto de palabras con los siguientes separadores , . : ; - se requiere crear
una función que obtenga como salida la cantidad de palabras de la frase.
Lógica: Reemplazar todos los separadores por uno de ellos de tal forma que exista un solo
separador luego de cada palabra. Luego contar los separadores de la frase. Finalmente la cantidad
de palabras será la cantidad de separadores +1.
Nota: Se sugiere utilizar las sgtes funciones: replace, count
Ejemplo1:
cadena = 'Japón,China NorCorea-Italia:Rusia;EEUU.Inglaterra-Brasil'
contar = 8
Ejemplo2:
cadena = ‘Londres,Buenos Aires.Berlin-Paris;Roma:Quito'
contar = 7
Ejemplo2:
cadena = ‘1-dos,tres:4.seis;10' 35
contar = 6
Crear una función llamada “Combinatorio” que invoque una función
denominada “Factorial” para calcular el número combinatorio dado por:

𝑚!
𝐶𝑛𝑚 =
𝑛! 𝑚 − 𝑛 !

Recuerde que el símbolo ! representa el factorial de un número.

Ejemplo1: Ejemplo2: Ejemplo3:


m =6 m =4 m =-8
n=2 n=4 n = -4
Combinatorio = 15 Combinatorio = 1 Solicitar nuevamente los valores de m y
n hasta que m>0, n>0, m>=n.
36
Desarrolle un programa y la función correspondiente para calcular:
𝜋
1 − sin( ) cos(𝜋)4
𝑦= 4
1 + cos(𝜋)2

Exprese el resultado con 4 decimales.

Ejemplo1:
y = 0.1464

37
Implemente una función para convertir coordenadas polares a rectangulares.
Debe tener en cuenta lo siguiente:

x = r cos(θ) ; y = r sen(θ)

Recuerde que θ es un ángulo y debe expresarlo en radianes.

Ejemplo1: Ejemplo2: Ejemplo3:


θ = 45 θ = 260 θ = 24.5
r =15 r =22 r =-45

X=10.607 X=10.607 X=17.324


Y=10.07 Y=10.07 Y=-17.324 38
Desarrolle un programa Python, haciendo uso de una función para determinar el
resultado de la siguiente serie:

1 2 3 𝑛
− 2 + 3 − ⋯+ 𝑛
2 2 2 2
Sugerencia: Use la función math.pow() para generar los denominadores

Ejemplo1: Ejemplo2: Ejemplo3:


n= 10 n = 100 n=2

Suma= 0.2187 Suma=0.2222 Suma=0.0000

39
Crear funciones que permitan realizar los siguientes tipos de cambio monetario
a Bolivianos:

• De Euro a Bs.
• De Dólar EE.UU a Bs
• De Yen a Bs.
• De Libra Esterlinas a Bs.

Ejemplo1: Ejemplo2: Ejemplo3:


Euro= 100 Dolar = 1000 Yen = -20

Bs = 764.00 Bs=6950 Volver a pedir hasta n>=0


Yen = 20
Bs=1.27 40
Crear funciones que permitan obtener el área y perímetro de las siguiente figuras:

• Círculo A = π r2 P=2πr
• Paralelogramo A=bh P = 2(a+b)
• Trapecio A = (a+b)h/2 P = a+b+2c
• Rombo A = ( d1 d2 )/2 P = 4a

Sobre un sub-menú:
Ejemplo1: Ejemplo2: Ejemplo3: Ejemplo4:
Circulo Paralelogramo Paralelogramo Rombo
r = 20 b=4 a=6 d1 = 10
h=5 b=4 d2 = 12
A = 1256.64 a=6 c=5 a=8
P = 125.66 h= 5,5
A =20 A =27.50 A =60.00 41

P=20 P=20.00 P=32.00


Video
Curso PYTHON PARA PRINCIPIANTES DESDE CERO - #29 Funciones - YouTube
Tutorial de Python

Python Tutorial (w3schools.com)

Funciones Anidadas

ᐉ Funciones anidadas de Python | Pharos

Funciones Python
4. Más herramientas para control de flujo — documentación de Python - 3.10.2

FUNCIONES INTEGRADAS EN PYTHON


5.6. Funciones integradas — Materiales del entrenamiento de programación en Python - Nivel
básico (entrenamiento-python-basico.readthedocs.io)
42

También podría gustarte