how to put reference in method argument not value python -
hi have code this
a = 7 def add(number): number+=1 print(number) add(a) print(a) and prints
8 7 as know must change because function takes reference everytime in python whats problem , how can solve it?
add not change value of a. number in add new copy object a. can see here different objects, use id(object) returns object identifying number a , nuumber:
a = 7 def add(number): number+=1 print("'number' id => {0}".format(id(number))) print(number) print("'a' id => {0}".format(id(a))) add(a) print("'a' id => {0}".format(id(a))) print(a) output, identifiers might different yours:
'a' id => 19295200 'number' id => 19295188 <- different new object different id 8 'a' id => 19295200 7 so changes apply on number not effect a. python way of doing reassign object new value:
a = 7 def add(number): number+=1 print(number) return number = add(a) print(a) output:
8 8
Comments
Post a Comment