Em um código em que eu devo retornar um atributo privado, eu devo usar o attrgetter ou um property?
Em um código em que eu devo retornar um atributo privado, eu devo usar o attrgetter ou um property?
Olá Marco, tudo bem com você?
Podemos fazer uso dos dois modos como ponte para acessarmos um atributo privado. O apresentado
O attrgetter, podemos utilizar quando for necessário solicitarmos múltiplos atributos que serão salvos em uma tupla, como apresentado na documentação do Python. Abaixo um exemplo.
key, key2 = operator.attrgetter("_saldo", "_codigo")
Já os property, vamos utilizar quando à solicitação de um único atributo, assim será utilizado o decorator property em um método de classe, se for necessário retornar apenas um atributo, recomendo o uso do property.
@property
def saldo(self):
return self._saldo
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.