First of all, I understand that I can use global statement to access global variables. But somehow I was able to modify a global list without global
nums are different and they point to a same object or 2 different objects, though they have same name.func1(nums), mean that you pass a reference. Now the 2 variable nums point to same object. (2 variables, 1 object)func1, the inside variable nums will point to a new object, the outside is still unchanged (2 variables, 2 object)print nums then this nums is the outside variable,