Funciones en Python

Sintaxis:
def nombre_funcion(argumentos):
instrucciones
return nombre_funcion#se utiliza para números

Ejemplo:
def print_name():
    print('Jhon')

En consola se escribe la función seguido de enter:
>>print_name()
>>Jhon

Ingresando los argumentos:
def print_name2(name):
    print(f'Mi nombre es {name}')

Escribir en consola:
>>print_name2("Kary")
>>Mi nombre es Kary

Funciones de cálculo:
 import math #Siempre el import va al inicio del programa 
def area_circulo(radio):
    area=math.pi*radio
    return area

>>area_circulo(5)
Out[122]: 15.707963267948966

import math
def cal_hipotenusa(a,b):
    return math.sqrt(a**2+b**2)

>>cal_hipotenusa(3,5)
Out[124]: 5.830951894845301

Cambiar localmente una variable:
 x=50
def func(x):
    print(f'x: {x}')
    x=2

print('x cambiada localmente',x)
x cambiada localmente 50

func(6)
x: 6
Y en memoria sigue siendo 50


Diferencias entre los args y los kwargs
def  test_var_args ( farg ,  * args ): 
def  test_var_kwargs ( farg ,  ** kwargs ):
def potencia(caudal, altura, efft, effg, g=9.8):
return caudal*altura*efft*effg*g

potencia(1.5,300,0.9,4)
Out[146]: 15876.000000000002

potencia(1.5,300,0.9,4,g=32.2)
Out[147]: 52164.00000000001

En este ejemplo los args son los valores que se ingresan por teclado.
Y los kwargs son los valores constantes los cuales se pueden escribir en cualquier orden y se los pueden cambiar, como en el ejemplo anterior la gravedad es de 9.8 pero puedo cambiarla a su equivalencia en el sistema ingles 32.2

Ejercicio:
En este ejercicio se debe realizar unas funciones que permitan ingresar, mostrar, eliminar, ayuda y salir del programa para una lista de datos que se deben ingresar por el teclado previamente separados de una coma. 

bom=[] 
def remove_item(pos):
#pass se ponde cuando aun no completamos la funcion
idx=pos-1 
item=bom.pop(idx) 
print(f'Se ha eliminado el elemento {item}')

def show_help():
print ("Ingrese la lista de materiales separados por coma")
print("Para ingresar valores tiene la siguiente opción: \
'MOSTRA' ver la lista, 'ELIMINAR' para borrar un elemento, 'SALIR' para \
abandonar el sistema o 'AYUDA' para mostrar este texto")
def show_list():
count = 1
for item in bom:
print(f'{count}.- {item}')
count +=1

#Ejecución de código 
print('Ingrese lista de materiales ')
show_help()

while True:
new_item = input(">> ")
if new_item.lower() == 'salir':
break
if new_item.lower() == 'mostrar':
show_list()
continue
if new_item.lower() == 'ayuda':
show_help()
continue
if new_item.lower() == 'eliminar':
show_list()
idx=int (input('Ingrese la posición del elemento'))
remove_item(idx)
continue

else:
new_list=new_item.split(',')
idx2 = (input('Ingrese posición a ingresar o enter para agregar al final'))

if idx2:#existe un valor en idx2?
pos2= int (idx2)-1
for item in new_list:
bom.insert(pos2,item.strip())
pos2+=1
else:
for item in new_list:
bom.append(item.strip())

Comentarios

Entradas más populares de este blog

Enumerate

args y kwargs en Python (argumentos)

Módulos en Python