@@ -18,11 +18,11 @@ El uso de funciones tiene varias ventajas:
1818Consideremos el siguiente caso donde se busca calcuar el precio final de un producto, considerando impuestos y descuentos.
1919
2020``` python
21- >> > precio_base = 800 # Precio del producto ($800)
22- >> > impuesto = 0.21 # Impuesto (21%)
23- >> > descuento = 0.10 # Descuento (10%)
24- >> > precio_final = precio_base * (1 + impuesto) * (1 - descuento)
25- >> > precio_final
21+ precio_base = 800 # Precio del producto ($800)
22+ impuesto = 0.21 # Impuesto (21%)
23+ descuento = 0.10 # Descuento (10%)
24+ precio_final = precio_base * (1 + impuesto) * (1 - descuento)
25+ precio_final
2626```
2727
2828``` text
@@ -34,23 +34,23 @@ Consideremos el siguiente caso donde se busca calcuar el precio final de un prod
3434Una opción es repetir el código tantas veces como sea necesario...
3535
3636``` python
37- >> > precio_base = 500 # Precio del producto ($500)
38- >> > impuesto = 0.105 # Impuesto (10.5%)
39- >> > descuento = 0.0 # Descuento (0%)
40- >> > precio_final = precio_base * (1 + impuesto) * (1 - descuento)
41- >> > precio_final
37+ precio_base = 500 # Precio del producto ($500)
38+ impuesto = 0.105 # Impuesto (10.5%)
39+ descuento = 0.0 # Descuento (0%)
40+ precio_final = precio_base * (1 + impuesto) * (1 - descuento)
41+ precio_final
4242```
4343
4444``` text
4545552.5
4646```
4747
4848``` python
49- >> > precio_base = 2000 # Precio del producto ($2000)
50- >> > impuesto = 0.21 # Impuesto (21%)
51- >> > descuento = 0.20 # Descuento (20%)
52- >> > precio_final = precio_base * (1 + impuesto) * (1 - descuento)
53- >> > precio_final
49+ precio_base = 2000 # Precio del producto ($2000)
50+ impuesto = 0.21 # Impuesto (21%)
51+ descuento = 0.20 # Descuento (20%)
52+ precio_final = precio_base * (1 + impuesto) * (1 - descuento)
53+ precio_final
5454```
5555
5656``` text
@@ -60,15 +60,15 @@ Una opción es repetir el código tantas veces como sea necesario...
6060Otra opción, mucho mas conveniente, es utilizar funciones.
6161
6262``` python
63- >> > def calcular_precio (precio_base , impuesto , descuento ):
64- ... resultado = precio_base * (1 + impuesto) * (1 - descuento)
65- ... return resultado
63+ def calcular_precio (precio_base , impuesto , descuento ):
64+ resultado = precio_base * (1 + impuesto) * (1 - descuento)
65+ return resultado
6666```
6767
6868Luego, para utilizar la función simplemente la ** llamamos** (o ** invocamos** ).
6969
7070``` python
71- >> > calcular_precio(800 , 0.21 , 0.10 )
71+ calcular_precio(800 , 0.21 , 0.10 )
7272```
7373
7474``` text
@@ -78,7 +78,7 @@ Luego, para utilizar la función simplemente la **llamamos** (o **invocamos**).
7878También es posible indicar los valores de los argumentos utilizando sus nombres.
7979
8080``` python
81- >> > calcular_precio(precio_base = 2000 , impuesto = 0.21 , descuento = 0.20 )
81+ calcular_precio(precio_base = 2000 , impuesto = 0.21 , descuento = 0.20 )
8282```
8383
8484``` text
@@ -127,20 +127,20 @@ En cambio, en Python, la sentencia `def` _define_ la función y le _asigna un no
127127Comencemos con una función super sencilla. La misma se llama ` sumar ` , recibe dos argumentos ` x ` e ` y ` , y devuelve la suma de ambos.
128128
129129``` python
130- >> > def sumar (x , y ):
131- ... return x + y
130+ def sumar (x , y ):
131+ return x + y
132132```
133133
134134``` python
135- >> > sumar(15 , 21.9 )
135+ sumar(15 , 21.9 )
136136```
137137
138138``` text
13913936.9
140140```
141141
142142``` python
143- >> > type (sumar(15 , 21.9 ))
143+ type (sumar(15 , 21.9 ))
144144```
145145
146146``` text
@@ -150,8 +150,8 @@ Comencemos con una función super sencilla. La misma se llama `sumar`, recibe do
150150El valor que devuelve puede ser tratado como cualquier valor en Python. Por ejemplo, se lo puede asignar a una variable.
151151
152152``` python
153- >> > resultado = sumar(10 , 11 )
154- >> > resultado
153+ resultado = sumar(10 , 11 )
154+ resultado
155155```
156156
157157``` text
@@ -161,7 +161,7 @@ El valor que devuelve puede ser tratado como cualquier valor en Python. Por ejem
161161Y el valor de esa variable puede ser luego pasado a una nueva llamada a ` sumar() ` (o a cualquier otra función).
162162
163163``` python
164- >> > sumar(resultado, 2.55 )
164+ sumar(resultado, 2.55 )
165165```
166166
167167``` text
@@ -171,7 +171,7 @@ Y el valor de esa variable puede ser luego pasado a una nueva llamada a `sumar()
171171Incluso es posible pasar expresiones y llamadas a funciones a la hora de pasar un argumento:
172172
173173``` python
174- >> > sumar(sumar(1 , 2 ), 3 )
174+ sumar(sumar(1 , 2 ), 3 )
175175```
176176
177177``` text
@@ -192,12 +192,12 @@ Finalmente, ese valor se muestra en pantalla.
192192Otro ejemplo sencillo consiste en una función que recibe un nombre e imprime un saludo en pantalla.
193193
194194``` python
195- >> > def saludar (nombre ):
196- ... print (" Hola" , nombre)
195+ def saludar (nombre ):
196+ print (" Hola" , nombre)
197197```
198198
199199``` python
200- >> > saludar(" Pablo" )
200+ saludar(" Pablo" )
201201```
202202
203203``` text
@@ -207,7 +207,7 @@ Hola Pablo
207207Esta función no devuelve un resultado, sino que utiliza el argumento recibido para mostrar un mensaje en pantalla.
208208
209209``` python
210- >> > saludar(" Juan" + " Manuel" )
210+ saludar(" Juan" + " Manuel" )
211211```
212212
213213``` text
@@ -219,28 +219,28 @@ Hola Juan Manuel
219219Y podemos tener funciones que no utilicen ningún argumento.
220220
221221``` python
222- >> > def decir_hola ():
223- ... print (" ¡Hola!" )
222+ def decir_hola ():
223+ print (" ¡Hola!" )
224224```
225225
226226``` python
227- >> > decir_hola()
227+ decir_hola()
228228```
229229
230230``` text
231231¡Hola!
232232```
233233
234234``` python
235- >> > decir_hola()
235+ decir_hola()
236236```
237237
238238``` text
239239¡Hola!
240240```
241241
242242``` python
243- >> > decir_hola()
243+ decir_hola()
244244```
245245
246246``` text
@@ -252,11 +252,11 @@ Y podemos tener funciones que no utilicen ningún argumento.
252252En Python, las funciones pueden devolver múltiples valores separándolos por comas en la sentencia ` return ` . Por ejemplo:
253253
254254``` python
255- >> > def potencias (x ):
256- ... cuadrado = x ** 2
257- ... cubo = x ** 3
258- ... return cuadrado, cubo
259- >> > potencias(2 )
255+ def potencias (x ):
256+ cuadrado = x ** 2
257+ cubo = x ** 3
258+ return cuadrado, cubo
259+ potencias(2 )
260260```
261261
262262``` text
@@ -267,16 +267,16 @@ El resultado de este tipo de funciones puede ser asignado a múltiples variables
267267De esta forma, podemos obtener el ` cuadrado ` y el ` cubo ` de un número con una sola llamada a una función.
268268
269269``` python
270- >> > cuadrado, cubo = potencias(8 )
271- >> > print (cuadrado)
270+ cuadrado, cubo = potencias(8 )
271+ print (cuadrado)
272272```
273273
274274``` text
27527564
276276```
277277
278278``` python
279- >> > print (cubo)
279+ print (cubo)
280280```
281281
282282``` text
@@ -311,10 +311,10 @@ Una función en Python puede realizar múltiples tareas, como devolver un valor
311311Por ejemplo:
312312
313313``` python
314- >> > def producto (x , y ):
315- ... resultado = x * y
316- ... print (" El producto es" , resultado)
317- ... return resultado
314+ def producto (x , y ):
315+ resultado = x * y
316+ print (" El producto es" , resultado)
317+ return resultado
318318```
319319
320320La función ` producto() ` no solo calcula y devuelve el resultado de multiplicar ` x ` por ` y ` ,
@@ -334,15 +334,15 @@ Al llamar a la función, podemos pasar los valores de dos formas: **por posició
334334Por ejemplo, las siguientes llamadas a la función ` sumar() ` son equivalentes:
335335
336336``` python
337- >> > sumar(x = 10 , y = 15 )
337+ sumar(x = 10 , y = 15 )
338338```
339339
340340``` text
34134125
342342```
343343
344344``` python
345- >> > sumar(10 , 15 )
345+ sumar(10 , 15 )
346346```
347347
348348``` text
@@ -352,7 +352,7 @@ Por ejemplo, las siguientes llamadas a la función `sumar()` son equivalentes:
352352Si utilizamos los nombres para pasar los argumentos ** no hace falta que estén en el mismo orden que en la definición** de la función.
353353
354354``` python
355- >> > sumar(y = 15 , x = 10 )
355+ sumar(y = 15 , x = 10 )
356356```
357357
358358``` text
@@ -366,28 +366,28 @@ Si utilizamos los nombres para pasar los argumentos **no hace falta que estén e
366366La función ` sumar() ` termina con la siguiente línea:
367367
368368``` python
369- ... return x + y
369+ return x + y
370370```
371371
372372Es decir, utiliza la sentencia ` return ` para devolver un valor.
373373
374374Por otro lado, la función ` saludar() ` termina con un ` print() ` y no tiene ningún ` return ` .
375375
376376``` python
377- ... print (" Hola" , nombre)
377+ print (" Hola" , nombre)
378378```
379379
380380``` python
381- >> > resultado = sumar(1 , 2 )
382- >> > resultado
381+ resultado = sumar(1 , 2 )
382+ resultado
383383```
384384
385385``` text
3863863
387387```
388388
389389``` python
390- >> > saludo = saludar(" Juan" )
390+ saludo = saludar(" Juan" )
391391```
392392
393393``` text
@@ -399,7 +399,7 @@ Hola Juan
399399* ¿Tiene sentido?
400400
401401``` python
402- >> > print (saludo)
402+ print (saludo)
403403```
404404
405405``` text
@@ -424,10 +424,10 @@ Esta práctica es útil para simplificar las llamadas que realizamos a una funci
424424Supongamos la siguiente función ` describir_mascota() ` que tiene los parámetros ` nombre ` y ` tipo `
425425
426426``` python
427- >> > def describir_mascota (nombre , tipo ):
428- ... print (" Tengo un" , tipo)
429- ... print (" Y su nombre es" , nombre)
430- >> > describir_mascota(" Bruno" , " perro" )
427+ def describir_mascota (nombre , tipo ):
428+ print (" Tengo un" , tipo)
429+ print (" Y su nombre es" , nombre)
430+ describir_mascota(" Bruno" , " perro" )
431431```
432432
433433``` text
@@ -438,15 +438,15 @@ Y su nombre es Bruno
438438Ahora, hacemos que el parámetro ` tipo ` sea por defecto igual a ` "perro" ` .
439439
440440``` python
441- >> > def describir_mascota (nombre , tipo = " perro" ):
442- ... print (" Tengo un" , tipo)
443- ... print (" Y su nombre es" , nombre)
441+ def describir_mascota (nombre , tipo = " perro" ):
442+ print (" Tengo un" , tipo)
443+ print (" Y su nombre es" , nombre)
444444```
445445
446446De este modo, es posible llamar a la función solamente pasando valores para aquellos parámetros sin valor por defecto:
447447
448448``` python
449- >> > describir_mascota(" Bruno" )
449+ describir_mascota(" Bruno" )
450450```
451451
452452``` text
@@ -457,7 +457,7 @@ Y su nombre es Bruno
457457Como es de esperar, también es posible pasar valores distintos a los establecidos por defecto:
458458
459459``` python
460- >> > describir_mascota(" Nemo" , " pez" )
460+ describir_mascota(" Nemo" , " pez" )
461461```
462462
463463``` text
0 commit comments