Day2-----referencias, referencias como parámetros de función

1. Cita

Use id() para ver referencias de variables 

El valor de identificación se puede considerar como un alias para una dirección de memoria

Paso de valores de datos de python por referencia 

La operación de asignación puede cambiar la referencia de la variable

# Almacenar el dato 10 en la variable a Essence: guardar la dirección de referencia de la memoria donde se encuentra el dato 10 en la variable a a= 
10 
# Dar la dirección de referencia guardada en la variable a a b 
b=a 
# Imprimir las variables a, b en la referencia Almacenado value 
print(a,b) 
print(id(a),id(b)) 
print('-'*10) 

my_list=[1,2,3] #Dar la dirección de referencia de la lista a la variable 
my_list1=my_list # Dar la dirección de referencia almacenada en la variable a la nueva variable 
print(my_list1,my_list) 
print(id(my_list1),id(my_list)) 
print('-'*10) 

my_list.append(4) #Guardar la referencia de 4 en la lista 
print('-'*10)
print(my_list1,id(my_list1))
print(my_list,id(my_list)) 
) 
mi_lista[2 ]=5 
print(f'mi_lista[2]: {id(mi_lista[2])}') 
print(mi_lista,id(mi_lista)) 
print(mi_lista1,id(mi_lista1)) 
print() 
print(' -'* 10)

2. Referencias como parámetros de función

Los parámetros de paso de función se pasan por referencia

 

mi_lista=[1,2,3] 
print(id(mi_lista)) 
print('-'*10) 

def func1(a): 
    a.append(4) 
func1(mi_lista) 
print(mi_lista) 
print(id(mi_lista) ) 
print('-'*10) 

# Solo usar 

def global func2(): 
    my_list.append(5) 

func2() 
print(my_list) 
print(id(my_list)) 
print(' -'*10) 

def func3() : 
    global my_list # Modificar el valor de la variable global 
    my_list=[1,2,3] 
func3() 
print(my_list) 
print(id(my_list)) 
print('-'*10) 

def func4(a): 
    # For +=, la extensión similar a una lista no cambiará la dirección de referencia de la variable 
    a+=a 
   # print(a) 
b=10 # b es un tipo inmutable 
func4(b)
imprimir(b)
func4(mi_lista) 
print(mi_lista) 
print('-'*10)

Supongo que te gusta

Origin blog.csdn.net/m0_46493223/article/details/126064407
Recomendado
Clasificación