Curso de Introducción al Pensamiento Computacional con Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Pasar los Datos por Valor Vs Referencia

Con Valores Simples

En Python por defecto los valores simples se pasan por valor (int, float, string…)

ejemplo pasando por valor:

def comer_manzana(manzanas):
    manzanas - 1

manzanas = 5
comer_manzana(manzanas)
print(manzanas)

resultado:

5

Si queremos pasar por referencia debemos modificar la variable manzana con el resultado del metodo con return

def comer_manzana(manzanas):
    return manzanas - 1

manzanas = 5
manzanas = comer_manzana(manzanas)
print(manzanas)

resultado

4

Por ultimo, otra alternativa es usar la palabra clave global que indica a Python que queremos usar la variable global en la función:

manzanas = 5
def comer_manzana(): 
    global manzanas
    manzanas = manzanas - 1

comer_manzana()
print(manzanas)

resultado

4

.

Con Valores Compuestos

En el caso de los valores compuestos por defecto se pasan por referencia

def sumar_fruta(lista_frutas):
    lista_frutas.append('fresa')

lista_frutas = ['manzana', 'uva', 'mango']
sumar_fruta(lista_frutas)
print(lista_frutas)

resultado

['manzana', 'uva', 'mango', 'fresa']

Si quieres pasar por valor un tipo compuesto , puedes enviar una copia del mismo.

def sumar_fruta(lista_frutas):
    lista_frutas.append('fresa')
    print(f'copia de lista frutas: {lista_frutas}')

lista_frutas = ['manzana', 'uva', 'mango']
sumar_fruta(lista_frutas[:]) # Una copia con [:]
print(f'lista de frutas original: {lista_frutas}')

resultado

copia de lista frutas: ['manzana', 'uva', 'mango', 'fresa']
lista de frutas original: ['manzana', 'uva', 'mango']

Espero que esto te sea de ayuda 😃

Curso de Introducción al Pensamiento Computacional con Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados