# Confused in name binding in python

#### shivajikobardan

##### Member
(I Didn't use code formatting here as I felt it was not necessary)

I have read multiple textbooks, articles and watched multiple videos about name binding in python.
Till now what I understand can be summarized in this-:
x=1 means name x is binded to object "1"
z=x and we know x=1

=> z=1

so z=x means z is binded to object 1
then,

y=2 #name y binds to object "2"
x=y #name x binds to object "2"

This is all I understand about name binding. I can't see how this simple concept can have any use in programming. This looks like math to me.
1. I need 1 example program to understand things I asked here.
2. I need 1 application of this concept
3. I need a figure depicting what is exactly happening when we declare variable x=1 and when we later do x=5 then we do y=2 then x=y. What is happening inside the system? I want that with figures.

#### Evgeny.Makarov

##### Well-known member
MHB Math Scholar
Assignment x = e evaluates the expression e and stores its result in variable x.

I can't see how this simple concept can have any use in programming.
Assignment is useful in the following code.

Python:
def my_sum(lst):
s = 0
for x in lst:
s = s + x
return s

>>> my_sum([1,2,3])
6