Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Alguém tem dica de material pra entender melhor o uso do self?

Fazendo o exercício eu fiquei em dúvida de quando usar o self e quando usar o self.algumacoisa. Por exemplo aqui:

class ExtratorURL:
    def __init__(self, url):
        self.url = self.sanitiza_url(url)
        self.valida_url()    

    def get_url_base(self):
            posicao_interrogacao = self.url.find('?')
            url_base = self.url[:posicao_interrogacao]
            return url_base


E o método é chamado assim:

    print(ExtratorURL(url).get_url_base())

Pq a gente usa o self.url e não só self?

3 respostas
solução!

Olá Pedro.

Este curso explica bem o uso do self: https://cursos.alura.com.br/course/python-3-intro-orientacao-objetos

Eu achei a explicação desse blog bem legal: https://ealexbarros.medium.com/como-utilizar-o-self-em-python-c03c43ec29a2

O "SELF" é uma referência à instância atual da classe, e é usado para acessar variáveis que pertencem à classe.

Não precisa ser nomeado "SELF", você pode chamá-lo como quiser, mas tem que ser o primeiro parâmetro de qualquer função da classe, no entanto, a palavra "SELF" é a mais usada pela comunidade python.

Exp de classe sem o self

class Mytime:
    def __init__(referencia, hora, minuto, segundo):
        referencia.hora = hora
        referencia.minuto = minuto
        referencia. segundo = segundo
        pass

tempo = Mytime(23, 59, 59)