Tentei acompanhar o professor no Pycharm, porém o metodo que utiliza o attrgetter não encontra o _saldo:
class ContaSalario:
def __init__(self, codigo):
self._codigo = codigo
self._saldo = 0
def deposita(self, valor):
self._saldo += valor
def __str__(self):
return "\nCodigo bancário: {} \nSaldo em conta: {}\n".format(self._codigo, self._saldo)
conta1 = ContaSalario(17)
conta1.deposita(1000)
conta2 = ContaSalario(26)
conta2.deposita(3000)
conta3 = ContaSalario(20)
conta3.deposita(4)
contas = [conta1, conta2, conta3]
#def extrai_saldo(conta):
# return conta._saldo
#for conta in sorted(contas, key=extrai_saldo):
# print(conta)
from operator import attrgetter
for conta in sorted(contas, key=attrgetter(_saldo)):
print(conta)
"D:\Arquivos\Cursos\Alura\Python\Codigos Fonte\venv\Scripts\python.exe" "D:/Arquivos/Cursos/Alura/Python/Codigos Fonte/Pt4_Collections/Collections_contas1.py"
Traceback (most recent call last):
File "D:\Arquivos\Cursos\Alura\Python\Codigos Fonte\Pt4_Collections\Collections_contas1.py", line 31, in <module>
for conta in sorted(contas, key=attrgetter(_saldo)):
NameError: name '_saldo' is not defined
Process finished with exit code 1
Onde estou errando?