Есть ли в Python и Go делегаты?
Делегирование - это шаблон проектирования, и реализовать его можно на большинстве современных языков программирования. Пример для Python есть в вики, никаких дополнительных ключевых слов для реализации делегатов в питоне не требуется, т.к. любой метод можно передать в качестве параметра куда угодно. Так же можно помещать методы в структуры данных, вот пример:def say_hello(name):
    print 'Hello,', name

def say_goodbye(name):
    print 'Bye,', name

phrases = {
    'hello': say_hello,
    'bye': say_goodbye,
}

def say(what, name):
    phrases[what](name)

say('hello', 'Ivan')
say('bye', 'Oleg')
В Go этот паттерн реализуется тоже очень лаконично.
Если используете терминологию C#, то и поставили бы тег, больше бы ответили.
Если нет, пропустите этот ответ.
В большинстве языков возможность работать с функциями как со значениями называется first-class function values или first-class function objects, а возможность привязки некоторых данных к функции (точнее, к некоторым внутренним переменным функции, не являющихся ее параметрами) - замыканием (closure). Делегаты шарпа это фактически те же function object, они сейчас чаще так и называются. Есть правда и важное отличие, касающееся multicast-делегатов - во многих языках такой возможности нет, но это пожалуй единственное важное отличие, и его в общем-то несложно нивелировать. А вообще в питоне функциональные объекты и замыкания отлично поддерживаются, поддерживается в том числе привязка метода к объекту с помощью точки (obj.method), например:>>> class A:
...     def print_me(self):
...         print(self.v)
...
>>> a = A()
>>> a.v = 91
>>> a.print_me()
91
>>> f = a.print_me
>>> a.v = 155
>>> f()
155
>>>
Вот туториал: https://newcircle.com/bookshelf/python_fundamental...