> def boring_select(num=0):
>     # first condition is always False (why not)
>    cond1 = np.zeros(num, dtype=bool)

You assert: "The result here is always np.zeros(num), and this also makes sense for num=0"

No, it does not make sense, any more than deciding that because I can divide a number by all the positive integers I should also be able to divide by zero, and inventing an arbitary output that I feel looks nice.

In your example, there were no conditions or items that could be selected upon. There was no 'selection'.

Division by zero has no semantic meaning; selection without things to select upon has no semantic meaning.

Being able to extrapolate a function across a case where it has no data does not make automatically it semantically meaningful or semantically coherent with the ordinary use of the function. 

Here, it results in generating arbitrary buggy data instead of warning the user that what they're doing doesn't make sense in the context of the function they called.