O código como passado na aula não funciona, pois falta o self na variavel "match",
...
match = padrao_url.match(url)
...
Ajustando o código funcionou assim:
def valida_url(self):
if not self.url: # o mesmo que: if self.url == "":
raise ValueError("A URL está vazia")
padrao_url = re.compile("(http(s)?://)?(www.)?bytebank.com(.br)?/cambio")
match = padrao_url.match(self.url)
if not match:
raise ValueError("A URL não é válida.")
`