1
resposta

erro ao inicializar

eu estava tentando fazer igual ele fez no inicio do vidoe porem nao me apareceu o main filme e endereco do objeto aparece isso

    C:\Users\alyssa\PycharmProjects\ptyton3oo2\Scripts\python.exe C:/Users/alyssa/PycharmProjects/ptyton3oo2/teste.py
        File "C:\Users\alyssa\PycharmProjects\ptyton3oo2\teste.py", line 1
            class Filme:
            IndentationError: unexpected indent

            Process finished with exit code 1

porque?

e eu estava copiando igual ele

     class Filme:
 def

    vingadores = Filme()
    print(vingadores)
1 resposta

Bom dia!

Diferente de outras linguagens que usam símbolos como chaves ou ponto e vírgula para delimitar blocos de código, o Python utiliza-se de ":" e identação (espaço em relação a margem direita) para identificar hierarquia de código. As diferenças nos exemplos abaixo:

Em TS:

class Filme {
    nome: string;

    constructor(nome: string) {
        this.nome = nome;
    }

    public toString = () : string => {
        return `Filme (nome: ${this.nome})`;
    }
}

Em Python:

class Filme:

    def __init__(nome: str):
        self.nome = nome

    def __str__():
        return f'Filme (nome: {self.nome})'

Como visto acima, no Python, a identação marca a hierarquia de código. No exemplo em Python, class não tem espaço à esquerda então seu nível é 0; def possui 4 espaços à esquerda então seu nível é 1, indicando que está dentro do bloco class; a(s) linha(s) abaixo de def possuem 8 espaços à esquerda, logo nível 2, indicando que está dentro do bloco def acima.

Resumindo de forma facilitada: Quem está mais a esquerda é "pai" de quem está mais a direita.

No seu caso, esse erro indica que a identação de class está errada e ainda que conserte ocorrerá o erro relacionado ao def isolado.

def é utilizado somente para declarar funções/métodos.

Pelo que entendi o correto seria usar pass no lugar do def no seu código.

Deveria ser algo assim:

class Filme:
    pass

vingadores = Filme()
print(vingadores)

Espero ter ajudado.

Links úteis:

https://docs.python.org/pt-br/3/tutorial/controlflow.html#pass-statements

http://excript.com/python/indentacao-python.html