Mam metodę:Python: Dowolny sposób deklarowania stałych parametrów?
def foo(bar):
# ...
Czy istnieje sposób, aby oznaczyć bar
jako stałą? Takich jak "Wartość w bar
nie może się zmienić" lub "Obiekt wskazany przez bar
nie może się zmienić".
Odwołania są zawsze "const", ale wartości nie są (nie można zmienić tego, na co wskazuje 'bar', ale jeśli' bar' jest zmienne, wciąż można zmienić jego wartość). Oczywiście nie jest to * tak naprawdę * prawdą, ponieważ możesz zrobić z ramą stosu twoich rodziców i zmienić to, co wskazuje 'bar', ale zakładając, że nie uciekasz się do takiego hakera, reguła ogólnie obowiązuje. –
@NickBastin: Wha? 'bar =" zmieniono! "' - Właśnie zmieniłem co 'bar' 'wskazuje' na (jest przypisane, aby było poprawne). –
@EthanFurman: Niezupełnie. Chodzi mi o to, że nie można zmienić referencji 'bar' w ramce stosu rodzica - można oczywiście przypisać nazwę' bar' lokalnie, aby ukryć obiekt, który został przekazany, ale ten obiekt nadal istnieje i pozostaje niezmieniony w rodzic. –