Передаются ли объекты классов в python 3.9 по ссылке?

Я несколько раз читал, что python передает аргументы по значению. Однако я тестировал следующий простой код, и похоже, что объекты класса c передаются по ссылке (модификация внутри функции изменяет объект). Может кто-нибудь объяснить, почему так?

Код:

      class c:
    def __init__(self,i):
        self.i=i

def incr_obj(obj):
    obj.i+=1

oo=c(1)
incr_obj(oo)
print(oo.i)

печатает 2.

0 ответов

Другие вопросы по тегам