March 16, 2021

¿Cuáles son las formas de escribir una función que utiliza el paso de parámetros por referencia?

Los argumentos en Python se pasan por valor. El valor se crea mediante una asignación que da como resultado un objeto que no tiene relación entre el nombre del argumento de entrada y el de salida. El procedimiento para escribir una función que utiliza el paso de parámetros por referencia incluye:

El resultado es una tupla que se puede devolver al objeto que la llamó. A continuación se muestra un ejemplo que demuestra claramente esto:

def function(a, b):
    a = 'value'
    b = b + 1
    # a y b son variables locales que se utilizan para
    # definir nuevos objetos
    return a, b
# Esta es la función que se usa para devolver el valor almacenado
# en a y b
  • El uso de variables globales te permite hacer referencia a una función por referencia, pero este método no es seguro con respecto a ninguna función;
  • El uso de objetos mutables (generalmente, estas son clases que constan de objetos mutables) es necesario para pasar parámetros por referencia.
def function(a):
    a[0] = 'string'
    a[1] = a[1] + 1
    # La matriz 'a' proporciona un enlace a la lista mutable y ya
    # modifica objetos mutables compartidos
args = ['string', 10]
func1(args)
print(args[0], args[1])
# Valores de salida almacenados en la matriz 'a'