Я изучаю класс Python.В скрипте игрушечного питона
class test():
def __init__(self, a, b):
self.new = a
self.old = b
def another_one(self):
temp = self.new
for key in temp.keys():
temp[key] += 1
def old_one(self):
old = self.old
old += 1
a = {'1': 1, '2': 2, '3': 3, '4': 4, '5': 5}
b = 5
test_pass = test(a, b)
test_pass.another_one(), test_pass.old_one()
a, b
я обнаружил, что при запуске метода another_one
экземпляра test_pass
словарь a
будет изменен.Однако целое число b
не будет изменено при запуске метода old_one
.
Почему словарь будет изменен, а целое - нет?