Python i przekazywanie referencji. Ograniczenie?

Chciałbym zrobić coś takiego:

class Foo(object):
    def __init__(self):
        self.member = 10
        pass

def factory(foo):
    foo = Foo()

aTestFoo = None
factory(aTestFoo)

print aTestFoo.member

Jakkolwiek się zawieszaAttributeError: 'NoneType' object has no attribute 'member': obiektaTestFoo nie został zmodyfikowany w wywołaniu funkcjifactory.

Jaki jest pythoniczny sposób na wykonanie tego? Czy to wzór, którego należy unikać? Jeśli jest to aktualny błąd, jak się nazywa?

W C ++, w prototypie funkcji, dodałbym odniesienie do wskaźnika, który ma zostać utworzony w fabryce ... ale może nie jest to rodzaj rzeczy, o których powinienem myśleć w Pythonie.

W języku C # jest słowo kluczoweref co pozwala modyfikować samo odwołanie, naprawdę blisko C ++. Nie wiem w Javie ... i zastanawiam się w Pythonie.

questionAnswers(4)

yourAnswerToTheQuestion