Я использую это для пары встроенных примитивных функций, которые, как я чувствовал, действительно отсутствовали. Одним из примеров является функция поиска, которая имеет ту же семантику использования, что и фильтр, карта, уменьшает.
def builtin_find(f, x, d=None):
for i in x:
if f(i):
return i
return d
import __builtin__
__builtin__.find = builtin_find
После запуска (например, путем импорта рядом с точкой входа) все ваши модули могут использовать find (), как будто, очевидно, он был встроен.
find(lambda i: i < 0, [1, 3, 0, -5, -10]) # Yields -5, the first negative.
Примечание: вы можете это сделать, конечно, с фильтром и другой строкой для проверки нулевой длины или с уменьшением в одном виде странная линия, но я всегда чувствовал, что это было странно.
Независимо от того, как вы запускаете net/http
сервер, он в конечном итоге вызывает Serve
, который:
Serve принимает входящие соединения на слушателе l, создание новой сервисной программы для каждого . Сервисные программы читают запросы и затем вызывают srv.Handler, чтобы ответить на них.
BLOCKQUOTE>