1 TEMA 6: FUNCIONES
1. FUNCIONES
Permiten almacenar código para aplicarlo en otras partes del programa
1º se define con def def funcion(): indentado a continuación
Luego se puede llamar la función en cualquier punto del programa solo con el nombre funcion()
Tiene su ámbito propio: las variables q. utiliza y sus valores se pierden al acabar la función
lee variables de ámbito general pero solo las cambia en la función: acabada siguen =
1.1. ÁMBITO DE UNA VARIABLE
Ámbito global del programa ≠ Ámbito local de una función
La variable definida en ámbito local de una función solo vale en esa función
Si hay otra en ámbito global con el mismo nombre no la pierde al salir de función la recupera
Si la variable se define en la función con el mismo nombre que fuera no la reconoce antes de definirla error
ambito_general =5 >>> ambito_general = 5 print(ambito_general)
def funcion(): 5 def funcion(): UnboundLocalError: local
print(ambito_general) 5 print(ambito_general) variable ‘ambito_general’
funcion() >>> ambito_general = "No entiendo nada" referenced before as signment
print(ambito_general) print(ambito_general) La variable va a ser declarada en la función ya
funcion() no computa la de ámbito global hasta fin función
Se puede cambiar este comportamiento indicando en la función si es global global variable
Entonces la función tomará y modificará la variable global (debe estar creada antes)
Poco recomendable todo esto mejor funciones con retorno
2. FUNCIONES CON RETORNO
Igual q. anterior retornan valores almacenar en variables terminando definición función c/ return
La variable se usa en ámbito local y devuelve un valor q. podemos almacenar suma = funcionsuma()
Si no se almacena en variable el valor se pierde c/ fin función
Puede retornar varios valores (separados con coma tras return) genera una tupla return num1 + num2, num1, num2
3. FUNCIONES CON PARÁMETROS
Funciones en que al definirlas en los paréntesis se indican variables q. se operan en la función def media(num1,num2)
Luego al aplicar la función se dan los datos (o variables) q. se quieren operar result = media(17, x)
Declarando variable con * delante = el número de datos a introducir es indefinido (arbitrario) def media(*nums):
Cuando aplicas la función das los datos q. se quieran, separados por comas result = media(17,8,51, x)
Los datos se pueden dar en una lista o en un diccionario creados previamente
En la definición de función se recorre con for para operar