def swap(a, b):
t = a
a = b
b = t
def swap2(a, b):
t = a['v']
a['v'] = b['v']
b['v'] = t
x = 3
y = 8
xx = {'v': x}
yy = {'v': y}
swap(x, y) # changes nothing
swap(xx, yy) # changes nothing
swap2(xx, yy) # changes 'v' values in xx and yy, but not x or y