Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como criar vários objetos de uma classe?

Eu gostaria de criar vários objetos de uma classe sem ter que nomear cada um deles em código como cubo_1, cubo_2, cubo_3, cubo_4 e etc. Porque pretendo trabalhar com dezenas de cubos que terão atributos preenchidos conforme necessário por um comando de entrada durante o código. Por isso seria mais interessante que fosse algo como um laço que crie inúmeros cubo[x], onde a cada nova entrada de informação pode ser feito um incremento da variável x para acessar o próximo cubo[x] e assim atribuir as informações necessárias. Isso facilitaria também para acessar informações de cada cubo por exemplo, para poder pedir para o usuário selecionar um número, atribuir à variável x e então disponibilizar a informação: print(cubo[x].altura).

Porém não sei como faço para criar esses construtores com "nomes variáveis". Alguém sabe como fazer isso ou indicar algum método semelhante?

1 resposta
solução!

Boa tarde Luis, cria uma classe Cubo, e toda vez que você instanciar um objeto Cubo adiciona-o numa lista, segue um exemplo:

class Cubo:
    def __init__(self, largura, altura, profundidade):
        self.largura = largura
        self.altura = altura
        self.profundidade = profundidade

lista_cubos = []
for numero_cubo in range(10):
    cubo = Cubo(largura = 10+numero_cubo,
                altura = 20+numero_cubo,
                profundidade = 10+numero_cubo)
    lista_cubos.append(cubo)

print(lista_cubos[1].altura)

A parte do cubo = Cubo(.... é um exemplo, estou usando um numero + numero_cubo, para definir valores diferentes para cada objeto.