```
def func():
      global x
      print 'x is', x
      x = 2
      print id(x)
      print 'Changed global x to', x

x = 50
print id(x)
func()
print 'Value of x is', x
print id(x)

```

**output**

```
32308172
x is 50
32308748
Changed global x to 2
Value of x is 2
32308748

```

I am expecting `id()` should return same value for all the three times because same copy of `x` is used by all globally. Why is it behaving like this.