teslariu

funciones varias

Jul 30th, 2022
1,117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.95 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. # Ambito de las variables
  6. # 1) Local (similar al paso por valor)
  7. def f():
  8.    v = 10
  9.    print(v)
  10.    
  11. v = 5
  12. f()         # imprime v=10 (valor local de v en la funcion f)
  13. print(v)    # imprime 5 (valor local de v fuera de la función f)
  14.  
  15. # 2) Global (similar al paso por referencia)
  16. def f():
  17.    global v # accedo al valor de v fuera de la función
  18.    v = 10
  19.    print(v)
  20.    
  21. v = 5
  22. f()         # imprime v=10 (valor global de la funcion f)
  23. print(v)    # imprime 10 (valor global de la función f)
  24.  
  25. # Paso por valor y referencia
  26. # En el paso por valor se crea una copia local de la variable
  27. # En el paso por referencia es como si se pasara en forma global
  28.  
  29. # En Python no es tan claro el paso por valor y referencia
  30. # Paso por valor
  31. def f(dato):
  32.    dato = 0     # recibo 5 y lo sobreescribo con 0
  33.    print(dato)
  34.    
  35. dato = 5
  36. f(dato)     # paso por valor 5 a entrada
  37.  
  38. print(dato)  #imprimo el valor local de 5
  39.  
  40. # No funciona igual (paso por valor) si es una lista
  41. def f(dato):
  42.    dato.append(1) # recibe [2,3,4] y le añade 1 EL APPEND FUNCION GLOBALMENTE
  43.    print(dato)   # imprime [2,3,4,1]
  44.    
  45. dato = [2,3,4]
  46. f(dato)
  47. print(dato) # imprime [2,3,4,1] y no [2,3,4]
  48.  
  49. # Otro caso
  50. def f(dato):
  51.    dato = []      # crea una copia local de dato FUNCIONA LOCALMENTE
  52.    print(dato)   # imprime []
  53.  
  54. dato = [2,3,4]
  55. f(dato)
  56. print(dato) # imprime [2,3,4] y no []
  57. """
  58. # argumentos de longitud variable
  59.  
  60. def sumar(numeros):
  61.     suma = 0
  62.     for numero in numeros:
  63.         suma += numero
  64.     print(suma)
  65.        
  66. sumar([1,2,3,4,5,6,7,8,9])
  67.  
  68. def sumar2(*args):
  69.     suma = 0
  70.     for n in args:
  71.         suma += n
  72.     print(suma)
  73.        
  74. sumar([1,2,3,4,5,6,7,8,9])
  75.  
  76. def sumar(**kwargs):
  77.     print(type(kwargs))  #keyword argument = kwargs
  78.     print(kwargs)
  79.     total = 0
  80.     for n in kwargs:
  81.         total+= kwargs[n]
  82.         print(total)
  83.        
  84. sumar(a=5, b=20, c=23)
Advertisement
Add Comment
Please, Sign In to add comment