голосование
BASH
PHP
Javascript
HTML
Программы
PostgreSQL
Firebird
Хостинг
Майнинг
Железо
Заработок на сайте
Docker
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Функции callback lambda Python

Существуют в python анонимные функции callback, lambda. Вы можете их использовать прямо внутри других функций. Они всегда возвращают результат. Они должны принимать данные для своих параметров. Посмотрите на пример. Тут callback - функции.


#!/usr/bin/python3
def function1(x) : return x ** 2
def function2(x) : return x ** 3
def function3(x) : return x ** 4

callback = [function1(2),function2(2),function3(2)]
print(list(callback))
"""
вывод:
[4, 8, 16]
"""

Функции lambda используют для различных задач: генерации списков, генерации множеств. Их используют для уменьшения объёма кода. С ними не просто работать, но оно того стоит.


#!/usr/bin/python3
# тут массив из 3 функций
callback = [lambda x : x ** 2, lambda x : x ** 3, lambda x : x ** 4]
# вывод в цикле
for function in callback : print('Result', function(3))
"""
вывод:
Result 9
Result 27
Result 81
"""

Функции lambda могут содержать массу параметров. В наше примере 3 параметра x, y, z.


#!/usr/bin/python3
getLambda = lambda x, y, z: x + y + z
print(getLambda(1,2,3))	
print(getLambda(4,5,6))
"""
вывод:
6
15
"""

Посмотрите на пример ниже. Тут написана функция square. Она достаточно проста. Затем я просто переписал функцию, используя lambda-функцию. Обратите внимание на количество кода и отсутствия слова return.


#!/usr/bin/python3
def square(x):
    return x**2

print(square(2))

square = lambda x : x ** 2
print(square(2))

"""
вывод:
4
4
"""
просмотры: 2347, уровень: лёгкий уровень, рейтинг: 1, дата: 2017-09-01 13:21:09
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.