В Python нет ничего, что называется указателями, но ваш код работает как написано. Функция - это объекты первого класса, присвоенные именам и используемые как любое другое значение.
Вы можете использовать это для реализации шаблона Стратегии, например:
def the_simple_way(a, b):
# blah blah
def the_complicated_way(a, b):
# blah blah
def foo(way):
if way == 'complicated':
doit = the_complicated_way
else:
doit = the_simple_way
doit(a, b)
Или справочная таблица:
def do_add(a, b):
return a+b
def do_sub(a, b):
return a-b
handlers = {
'add': do_add,
'sub': do_sub,
}
print handlers[op](a, b)
Вы даже можете получить метод, привязанный к объекту:
o = MyObject()
f = o.method
f(1, 2) # same as o.method(1, 2)