1
resposta

Print não funciona dentro da Classe

Boa tarde, estou fazendo o módulo avançado de OO e quando rodo o projeto, eu não tenho o retorno dos meus prints quando eles estão dentro de uma classe, só retorna o print quando eu passo fora da classe, nesse código abaixo só retorna o print('teste'). Estou utilizando o PyCharm. Já executei pelo CMD e também a mesma coisa.

class Filme:
    def __init__(self, nome, ano, duracao):
        self.nome = nome
        self.ano = ano
        self.duracao = duracao

class Serie:
    def __init__(self, nome, ano, temporadas):
        self.nome = nome
        self.ano = ano
        self.temporadas = temporadas


        vingadores = Filme('vingadores - guerra infinita', 2018, 160)
        print(vingadores.nome)

        atlanta = Serie('atlanta', 2018, 2)
        print(f'Nome: {atlanta.nome} - Ano: {atlanta.ano} - Temporadas: {atlanta.temporadas}')

print('teste')
1 resposta

Olá Caio, tudo bem? Espero que sim!

O que está acontecendo é um problema de indentação.

Os objetos têm que ser criados fora da classe, assim como os prints(). Da forma que está o código, eles estão dentro da classe que nunca foi iniciada no código, portanto nunca irá acontecer.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Segue abaixo o código com a indentação correta:

class Filme:
    def __init__(self, nome, ano, duracao):
        self.nome = nome
        self.ano = ano
        self.duracao = duracao

class Serie:
    def __init__(self, nome, ano, temporadas):
        self.nome = nome
        self.ano = ano
        self.temporadas = temporadas


vingadores = Filme('vingadores - guerra infinita', 2018, 160)
print(vingadores.nome)

atlanta = Serie('atlanta', 2018, 2)
print(f'Nome: {atlanta.nome} - Ano: {atlanta.ano} - Temporadas: {atlanta.temporadas}')

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software