Basic of Python - Variable and Memory Address

 

About this Post

In this post I will be demonstrating how python works using example of variables and their memory addresses.


Explanation with Python Code Examples

#create a variable with value 10
var = 10

#id function is used to get the memory address 
print(id(var)) #1712357776 - memory address

#assign var_new equals to var
var_new = var

#var_new and var are now attached to same memory address
print(id(var_new))#1712357776 - memory address

#reassign value of var 
var = 20

#var gets detached from memory address of 10 and then attached to the memory address of 20 .We can see different memory address now
print(id(var))#1712358096 -memory address

#var_new has old memory address because it is attached to memory address of 10
print(id(var_new))#1712357776 - memory address

print(var) #20

print(var_new) #10


Now rather than reassigning value we will try to update the variable value. For this we can take list / dictionary example. 

# taking a list variable
list_var = [1,2,3,4]

print(id(list_var))#2257786114760 -memory address

#assign list_var_new equals to list_var
list_var_new = list_var

#list_var_new and list_var are now attached to same memory address
print(id(list_var_new))#2257786114760 -memory address

#now instead of reassign ,append an element in list_var
list_var.append(5)

#memory address of list_var will remain same as we are not reassigning it . We are adding one more element in it
print(id(list_var))#2257786114760 -memory address

#memory address of list_var_new is same as list_var
print(id(list_var_new))#2257786114760 -memory address

print(list_var) # [1,2,3,4,5]

#as list_var_new is attached to same memory address as that of list_var, value of list_var_new has updated along with list_var
print(list_var_new) # [1,2,3,4,5]




How to create a copy of variable with different memory address.

For this we will use copy module of python


import copy
list_1 = [1,2,3,4]
list_2 = copy.copy(list_1)

print(id(list_1)) #2257786155784 - memory address
print(id(list_2)) #2257786177544 - memory address

list_1.append(5)

print(id(list_1)) #2257786155784 - memory address
print(id(list_2)) #2257786177544 - memory address

print(list_1) # [1,2,3,4,5]

#value if list_2 won't change now as both variable has different memory address
print(list_2) # [1,2,3,4]



Comments

  1. Nice u have covered very wode area in a very short note bhaiya... Keep doing👌🤘

    ReplyDelete

Post a Comment

Popular posts from this blog

Highlight Text In PDF With Different Colors Using Python

How To Convert HTML Page Into PDF File Using Python

Face Detection And Blur Face Using Face-Recognition and Pillow Python Package