Stavo leggendo posta How can I assign a new class attribute via __dict__ in python? e non v'è stato un solo commento da @bruno desthuilliers dicendo:setattr (oggetto, nome, valore) vs oggetto .__ setattr __ (nome, valore)
Non si dovrebbe chiamare direttamente la magia metodi - sono qui come implementazione di operatori o funzioni generiche. In questo caso, la soluzione idiomatica è utilizzare
setattr(obj, name, value)
.
Il caso di setattr sembra al di fuori della portata del suo commento: non un operatore, nemmeno un'implementazione di funzione generica.
Qualcuno può spiegare il commento? Perché dovrei preferire uno rispetto all'altro?
In tal caso è preferibile utilizzare obj.__setattr__(name, value)
?
grazie @Martijn risposta grande –