Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Думаю это важно, что в ФП функции — это объекты первого рода.
f = ( [[
(
p(1),
p(2),
p(3),
(
p('Qsort:'),
p(qsort(qsort,[2,-1,7,3]))
)
)
for qsort in [lambda qs, L:
[] if L==[]
else [
qsort(qs, [e for e in T if e<=H]) + [H] + qsort(qs, [e for e in T if e>H])
for H in [L[0]]
for T in [L[1:]]
][-1],
]]
for p in [lambda s='':
w(str(s)+'\n'),
]]
for w in [
__import__('sys').stdout.write,
]
)
'''
here f is only data, that contains code!!!
'''
def do(code):
map(do,code) if '__iter__' in dir(code) else None
'''
here code is evaluated
'''
do(f)
''' ==>
1
2
3
Qsort:
[-1, 2, 3, 7]
ain`t it looks like lisp/prolog ?
'''
* This source code was highlighted with Source Code Highlighter.
Функциональный питон