Передача Python и ссылок. Ограничение?
Я хотел бы сделать что-то вроде следующего:
class Foo(object):
def __init__(self):
self.member = 10
pass
def factory(foo):
foo = Foo()
aTestFoo = None
factory(aTestFoo)
print aTestFoo.member
Однако он падает сAttributeError: 'NoneType' object has no attribute 'member'
:
the object aTestFoo
не был изменен внутри вызова функцииfactory
.
Каков питонный способ выполнения этого? Это шаблон, чтобы избежать? Если это текущая ошибка, как она называется?
В C ++, в прототипе функции, я бы добавил ссылку на указатель, который будет создан на фабрике ... но, возможно, это не тот тип вещей, о котором я должен думать в Python.
В C # есть ключевое словоref
это позволяет изменить саму ссылку, действительно близкую к C ++. Я не знаю, на Java ... и я удивляюсь на Python.