human
I wrote the below code

    if (N == 0):
        return asarray([])
    x0 = _campos_zeros(N)
    def f(x):
        return special.kve((N + 0.5), (1 / x))
    def fp(x):
        return (((special.kve((N - 0.5), (1 / x)) / (2 * (x ** 2))) - (special.kve((N + 0.5), (1 / x)) / (x ** 2))) + (special.kve((N + 1.5), (1 / x)) / (2 * (x ** 2))))
    x = _aberth(f, fp, x0)
    for i in range(len(x)):
        x[i] = optimize.newton(f, x[i], fp, tol=1e-15)
    x = np.mean((x, x[::(-1)].conj()), 0)
    if (abs((np.sum(x) + 1)) > 1e-15):
        raise RuntimeError('Generated    zeros    are    inaccurate')
    return x

What's a good function header?

=====
Here's a good function header?
assistant
#Here's a good function header.

def _bessel_zeros(N):