È considerata una cattiva pratica cercare di nascondere le funzioni locali in Python? L'intenzione di non ingombrare lo spazio dei nomi globale con nomi di seconde classifiche o di funzioni comuni può essere contro ... ehm ... alcuni Pythonism di cui non sono a conoscenza.
def foo(aparameter):
def somenamewhichislikelytoclash(anotherparam):
....
C'è una penalità di runtime? AFAIK comunque tutti i contesti delle funzioni vengono creati nell'heap, quindi legare e distruggere richiederebbe altrettanto tempo per i locali - c'è di più?
Lo sto chiedendo specificamente per il contesto Python, in quanto ne so abbastanza sulla separazione delle preoccupazioni, sulla pulizia del namespace ecc. in altre lingue.