No caso do Match não precisamos informar que o "1, 2, 3..." se trata de um stg ou int??
No caso do Match não precisamos informar que o "1, 2, 3..." se trata de um stg ou int??
Oii Luiz, tudo bem?
No exemplo do para saber mais, a variável opcao_escolhida tá recebendo um valor inteiro por meio da função int(input('Escolha uma opção: ')). Então, quando usamos a instrução match, ela está comparando esse valor inteiro com os números inteiros nos blocos case.
Se, em vez disso, tivéssemos uma situação em que opcao_escolhida fosse uma string, poderíamos compará-la com strings nos blocos case. Assim por exemplo:
opcao_escolhida = input('Escolha uma opção: ')
match opcao_escolhida:
case '1':
print('Adicionar restaurante')
case '2':
print('Listar restaurantes')
case '3':
print('Ativar restaurante')
case '4':
print('Finalizar app')
case _:
print('Opção inválida!')
Assim, estamos comparando uma string com strings. Então, o tipo de dado que você está comparando no match depende do tipo de dado que você está recebendo na entrada e do tipo de dado que você está usando nos blocos case.
Um abraço e bons estudos.