Não sei por que está retornando false, dei uma olhada no código e não consegui encontrar o erro, podem me ajudar ?
class ExtratorArgumentosUrl:
    def __init__(self, url):
        if self.url_eh_valida(url):
            self.url = url.lower()
        else:
            raise LookupError ('URL INVÁLIDA !!!')
    def __len__(self):
        return len(self.url)
    def __str__(self):
        moeda_destino,moeda_origem = self.extrai_argumentos()
        representacao_string = (f'Valor: {self.extrai_valor()} \nMoeda Origem: {moeda_origem} \nMoeda Destino: {moeda_destino}')
        return representacao_string
    def __eq__(self, other):
        return self.url == other.url
    @staticmethod
    def url_eh_valida(url):
        if url and url.startswith("https://bytebank.com"):
            return True
        else:
            return False
    def extrai_argumentos(self):
        busca_moeda_origem = "moedaorigem=".lower()
        busca_moeda_destino = "moedadestino=".lower()
        indice_final_moeda_origem = self.url.find("&")
        indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
        moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
        if moeda_origem == "moedadestino":
            self.troca_moeda_origem()
            indice_final_moeda_origem = self.url.find("&")
            indice_inicial_moeda_origem = self.encontra_indice_inicial(busca_moeda_origem)
            moeda_origem = self.url[indice_inicial_moeda_origem:indice_final_moeda_origem]
        indice_inicial_moeda_destino = self.encontra_indice_inicial(busca_moeda_destino)
        indice_final_moeda_destino = self.url.find("&valor")
        moeda_destino = self.url[indice_inicial_moeda_destino:indice_final_moeda_destino]
        return moeda_destino, moeda_origem
    def encontra_indice_inicial(self, moeda_buscada):
        return self.url.find(moeda_buscada) + len(moeda_buscada)
    def troca_moeda_origem(self):
        self.url = self.url.replace("moedadestino", "real", 1)
        print(self.url)
    def extrai_valor(self):
        busca_valor = "valor=".lower()
        indice_inicial_valor = self.encontra_indice_inicial(busca_valor)
        valor = self.url[indice_inicial_valor:]
        return valor
from ExtratorArgumentosURL import ExtratorArgumentosUrl
url = "https://bytebank.com/cambio?moedaorigem=moedadestino&moedadestino=dolar&valor=1500"
argumentosUrl1 = ExtratorArgumentosUrl(url)
argumentosUrl2 = ExtratorArgumentosUrl(url)
print(argumentosUrl1)
print(argumentosUrl2 == argumentosUrl1)