Consigo fazer em Python um código melhor que este? Sou iniciante na linguagem e gostaria de saber se estou no caminho certo

Objetivo desse programa é receber o raio do usuário e calcular a área do circulo.

Sou iniciante em Pyhton, então gostaria de saber se esse é o código mais eficiente que poderia fazer para resolver o problema, ou se há outra maneira mais simples (desde que não seja uma função pronta do Python para calcular a area do circulo rs). Faço essa pergunta, pois saberia se estou no caminho certo ou se posso melhorá-lo, torná-lo mais simples.

from math import pi


def area_circulo(raio):
     return pi * float(raio) ** 2


def nao_numerico(raio):
    print('Digite apenas números!')


def maior_que_zero():
    print('Raio precisa ser maior que 0!')


def se_numero(n):
    try:
        float(n)
    except ValueError:
        return False
return True


if __name__ == '__main__':
    raio = input('Informe o raio: ')

if se_numero(raio):
    if float(raio) < 1:
        maior_que_zero()
    else:
        area = area_circulo(raio)
        print('Area do circulo =', area)
else:
    nao_numerico(raio)