x = 'foo' y = x print x # foo y += 'bar' print x # foo print y # foobar x = [1, 2, 3] y = x print x # [1, 2, 3] y += [3, 2, 1] print x # [1, 2, 3, 3, 2, 1] print y # [1, 2, 3, 3, 2, 1] def fun(val): val = 'bar' x = 'foo' print x # foo fun(x) print x # foo def fun(val): val[1]=-1 x = [1, 2, 3] print x # [1, 2, 3] fun(x) print x # [1, -1, 3] def fun(val): val = [1,2,3] val[1] = -2 x = [1, 2, 3] print x # [1, 2, 3] fun(x) print x # [1,2, 3]