Skip to content

Commit 17ad29f

Browse files
Diego Rojas MuñozDiego Rojas Muñoz
Diego Rojas Muñoz
authored and
Diego Rojas Muñoz
committed
#5 - Python
1 parent 3a5364a commit 17ad29f

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Asignacion de variables en python
2+
# En python los enteros, flotantes, cadenas y tuplas, sea signan por valor.
3+
# Esto significa que cuando asignas una variable a otra, se crea una copia independiente del valor.
4+
5+
# Asignacion por valor
6+
a = 10
7+
b = a
8+
print(f'a: {a}, b: {b}') # 'b' recibe una copia de del valor de 'a'
9+
10+
# Modificamos b
11+
b = 20
12+
print(f'a:{a}, b:{b}') # 'a' no se ve afectada ya que los enteros son inmutables.
13+
14+
15+
# Asignacion por referencia
16+
# En python las listas, diccionarios y conjuntos, se asignan por referencia.
17+
# Esto significa que cuando asignas una variable a otra, ambas apuntan al mismo objeto en memoria.
18+
19+
lista_1 = [1, 2 ,3]
20+
lista_2 = lista_1
21+
print(f'Lista 1: {lista_1}, Lista 2: {lista_2}')
22+
23+
# Modificamos la lista 2
24+
lista_2.append(4)
25+
print(f'Lista 1: {lista_1}, Lista 2: {lista_2}') # Al modificar la lista 2, tambien se modifica la lista 1
26+
27+
# Crear una copia independiente de un objeto mutable
28+
lista_1 = [1, 2 ,3]
29+
lista_2 = lista_1.copy() # Lista 2 es una copia independiente de lista 1
30+
print(f'Lista 1: {lista_1}, Lista 2: {lista_2}')
31+
32+
lista_2.append(4)
33+
print(f'Lista 1: {lista_1}, Lista 2: {lista_2}') # Lista 1 no se ve afectada por los cambios de lista 2
34+
35+
36+
# Extra
37+
38+
# Función para intercambiar valores por valor
39+
def intercambiar_por_valor(a, b):
40+
temp = a
41+
a = b
42+
b = temp
43+
return a, b
44+
45+
x = 10
46+
y = 20
47+
48+
nuevo_x, nuevo_y = intercambiar_por_valor(x, y)
49+
50+
print(f"Originales: x = {x}, y = {y}")
51+
print(f"Nuevos: nuevo_x = {nuevo_x}, nuevo_y = {nuevo_y}")
52+
53+
54+
55+
56+
# Función para intercambiar valores por referencia
57+
def intercambiar_por_referencia(lista1, lista2):
58+
temp = lista1[:]
59+
lista1[:] = lista2[:]
60+
lista2[:] = temp
61+
return lista1, lista2
62+
63+
lista_a = [1, 2, 3]
64+
lista_b = [4, 5, 6]
65+
66+
nueva_lista_a, nueva_lista_b = intercambiar_por_referencia(lista_a, lista_b)
67+
68+
print(f"Originales: lista_a = {lista_a}, lista_b = {lista_b}")
69+
print(f"Nuevas: nueva_lista_a = {nueva_lista_a}, nueva_lista_b = {nueva_lista_b}")

0 commit comments

Comments
 (0)