Import this — Zen of Python
1 мин
Все, пожалуй, знают, что если в интерпретаре Python выполнить импорт модуля this, то на экран выведется Zen of Python. Но думаю, что не все в курсе, как выглядит исходник этого модуля.

Высокоуровневый язык программирования
import cPickle
def memoized(func):
memory = {}
def memo(*args,**kwargs):
hash = cPickle.dumps((args, sorted(kwargs.iteritems())))
if hash not in memory:
memory[hash] = func(*args,**kwargs)
return memory[hash]
return memo
@memoized def bigfunc(…): …
bigfunc = memoized(bigfunc)
hash = cPickle.dumps((args, sorted(kwargs.iteritems())))
hash = (tuple(args), frozenset(kwargs.items())
def login(username="anonymous", password=None):
"""Тут какие-то действия"""
pass
# вызвать эу функцию мы можем одним
# из нижеприведенных способов
login("root", "ujdyzysqgfhjkm")
login("guest")
login()
# мы можем указать какой из параметров мы передаем,
# указав его имя в явном виде
login(password="nobody@mail.com")

Продолжаю свое небольшое введение в функциональное программирование. На этот раз речь пойдет о списках и методах их обработки в функциональном стиле.
Это продолжение статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Первая часть здесь.
