Boa tarde,
Na hora de realizar o fatiamento da URL buscando pelo valor da variável não seria mais fácil utilizar o método split() ao invés de adicionar um segundo parâmetro no método find() para depois ter que realizar um if else?
Código mostrado na Aula:
indice_e_comercial = url_parametros.find('&', indice_valor)
if indice_e_comercial == -1:
valor = url_parametros[indice_valor:]
else:
valor = url_parametros[indice_valor:indice_e_comercial]
Versão com o split():
valor = url_parametros[indice_valor:].split('&')[0]
A idéia com o split() é quebrar a a string moedaOrigem=real&quantidade=100&moedaDestino=dolar contida na variável url_parametros a cada vez que for encontrado o caractere &.
Fazendo dessa maneira e imaginando que a nossa variável parametro_busca possui o valor moedaOrigem ele irá nos retornar a seguinte lista:
['real', 'quantidade=100', 'moedaDestino=dolar']
Onde iremos pegar somente o primeiro valor da lista, sendo determinado por [0] ao final do split(), que é o valor que queremos. E essa forma de verificação funciona independentemente se a URL possui 1 ou mais parâmetros.
Além dessa minha dúvida, a nível de velocidade de execução, qual dos dois métodos seria mais eficiente?