Ibuprofeno.py💊| #32: Explica este código Python

Cristian Fernando - Jan 24 - - Dev Community

Explica este código Python

Dificultad: Intermedio

## Reto #32
x = (10, 20)
def fn(entrada):
    entrada.append(30)
    return entrada

fn(x)
print(x) # 🤔
Enter fullscreen mode Exit fullscreen mode
  • A. TypeError
  • B. AttributeError
  • C. (10, 20, 30)
  • D. (10, 20)

Respuesta en el primer comentario.

Respuesta:

  • B. AttributeError

Este reto es un poco trampa.
Pareciera que queremos demostrar si una tupla se pasa por valor o por referencia a una función en Python, pero basta con saber que una tupla es inmutable para saber que debe ser pasada si o si por valor.

Por su característica de inmutabilidad las tuplas no cuentan con un método append() como las listas, así que no es necesario leer todo el código del reto, basta con saber la teoría.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .