Zasadniczo jest już wbudowana lub powszechnie dostępna funkcja, która to robi:
def rename_attribute(object_, old_attribute_name, new_attribute_name):
setattr(object_, new_attribute_name, getattr(object_, old_attribute_name))
delattr(object_, old_attribute_name)
7
chappy
14 sierpień 2014, 18:30
2 odpowiedzi
Najlepsza odpowiedź
Nie ma wbudowanej lub standardowej funkcji biblioteki. Zakładam, ponieważ:
- Jest trywialny, ponieważ twoje całkowicie wystarczające widoki
- Nie ma ogólnego przypadku
3
knitti
14 sierpień 2014, 14:35
Nie, nie ma, ale możesz go zrobić łatwiejszy gra z przestrzeni nazw:
def rename_attribute(obj, old_name, new_name):
obj.__dict__[new_name] = obj.__dict__.pop(old_name)
14
enrico.bacis
14 sierpień 2014, 14:40
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.