Pessoal, estou com uma dúvida em relação a instância em python. Estava praticando aqui os conceitos de OO e criei um menu de cadastro, porém, na classe UsuarioView quando o usuário escolhe a opção 3 o programa retorna pro menu e os dados deveriam ser perdidos porque ao fazer menu = Menu() eu estou criando uma nova instância do objeto. Mas mesmo assim os valores continuam lá e não foi perdido nada. Alguém pode me explicar porque os valores não some, já que fiz uma nova instância do menu. Grato!
from model.repositorios.Repositorio import RepositorioUsuario
from model.classes.Pessoa_Usuario import Usuario
class Menu:
def menu(self):
while(True):
print('[1] - Menu Usuário')
escolha = int(input('Escolha um menu: '))
if(escolha == 1):
viewUsuario = UsuarioView()
viewUsuario.viewUsuario()
else:
print('Valor incorreto!')
voltar = int(input('[0] - Para voltar ao menu'))
while(voltar != 0):
print('Valor inválido!')
voltar = int(input('[0] - Para voltar'))
class UsuarioView:
repositorioUsuario = RepositorioUsuario()
def viewUsuario(self):
while(True):
print('[1] - Cadastrar Usuário')
print('[2] - Listar Usuários')
print('[3] - Voltar para o Menu')
escolha = int(input('Escolha uma opção: '))
if(escolha == 1):
codigo = int(input('Código: '))
nome = str(input("Nome: "))
idade = int(input('Idade: '))
cpf = str(input('CPF: '))
sexo = str(input('Sexo: '))
email = str(input('Email: '))
senha = str(input('Senha: '))
usuario = Usuario(codigo, nome, idade, cpf, sexo, email, senha)
self.repositorioUsuario.salvarUsuario(usuario)
elif(escolha == 2):
self.repositorioUsuario.listarUsuarios()
elif(escolha == 3):
menu = Menu()
menu.menu()
else:
print('Valor incorreto!')
voltar = int(input('[0] - Para voltar'))
while(voltar != 0):
print('Valor incorreto!')
voltar = int(input('[0] - Para voltar'))
menu = Menu()
menu.menu()