Olá Miguel!
Seu raciocínio está correto, mas para uma leitura natural e de melhor compreensão sugiro começar pela variável 'idade', por exemplo:
if 0 < idade <= 12:
print("Criança")
pode ser lido como: "Se idade for maior que 0 e menor ou igual a 12 mostre Criança", ou de forma mais simples "Se a idade estiver entre 0 e 12 mostre Criança".
Perceba que troquei "retorne" por "mostre" uma vez que o termo retornar não é usado no contexto do print().
Segue os demais trechos:
elif 12 < idade <= 18: # Senão se a idade estiver entre 12 e 18
print("Adolescente")
elif idade > 18: # Senão se a idade for maior que 18
print("Adulto")
else: # Senão
print("Valor inválido!")# Para valores negativos ou iguais a 0
Espero ter ajudado.
Bons Estudos !!