PPt4Web Хостинг презентаций

Главная / Информатика / Функции, функциональное программирование
X Код для использования на сайте:

Скопируйте этот код и вставьте его на свой сайт

X

Чтобы скачать данную презентацию, порекомендуйте, пожалуйста, её своим друзьям в любой соц. сети.

После чего скачивание начнётся автоматически!

Кнопки:

Презентация на тему: Функции, функциональное программирование


Скачать эту презентацию

Презентация на тему: Функции, функциональное программирование


Скачать эту презентацию

№ слайда 1
Описание слайда:

№ слайда 2
Описание слайда:

№ слайда 3
Описание слайда:

№ слайда 4 Функции высших порядков Функции высших порядков функции, которые могут принимать
Описание слайда:

Функции высших порядков Функции высших порядков функции, которые могут принимать в качестве аргументов и возвращать другие функции.

№ слайда 5
Описание слайда:

№ слайда 6 чисто функциональная программа не может изменять уже имеющиеся у неё данные, а м
Описание слайда:

чисто функциональная программа не может изменять уже имеющиеся у неё данные, а может лишь порождать новые путём копирования и/или расширения старых. чисто функциональная программа не может изменять уже имеющиеся у неё данные, а может лишь порождать новые путём копирования и/или расширения старых.

№ слайда 7 Повышение надёжности кода Повышение надёжности кода за счёт чёткой структуризаци
Описание слайда:

Повышение надёжности кода Повышение надёжности кода за счёт чёткой структуризации и отсутствия необходимости отслеживания побочных эффектов.

№ слайда 8 Отсутствие присваиваний и замена их на порождение новых данных приводят к больши
Описание слайда:

Отсутствие присваиваний и замена их на порождение новых данных приводят к большим затратам памяти и вычислений при копировании. Отсутствие присваиваний и замена их на порождение новых данных приводят к большим затратам памяти и вычислений при копировании. Сборщик мусора. специальный код, который периодически освобождает память, удаляя объекты, которые уже не будут востребованы приложением

№ слайда 9
Описание слайда:

№ слайда 10 def <name>(arg1, arg2,..., argN): def <name>(arg1, arg2,..., argN):
Описание слайда:

def <name>(arg1, arg2,..., argN): def <name>(arg1, arg2,..., argN): '''строка документации''' <statements>

№ слайда 11 определение функции происходит во время выполнения. определение функции происход
Описание слайда:

определение функции происходит во время выполнения. определение функции происходит во время выполнения. имя функции не является однозначно определенным. Важен только объект на который ссылается имя. othername = func #связывание объекта функции с именем othername() #вызов функции

№ слайда 12 def func(x, y): def func(x, y): return x**2 + y**2 func = lambda x, y: x**2 + y*
Описание слайда:

def func(x, y): def func(x, y): return x**2 + y**2 func = lambda x, y: x**2 + y**2

№ слайда 13 def func(x, y, z=7) def func(x, y, z=7) return x+y+z print func(1, y=3) # 1+3+7=
Описание слайда:

def func(x, y, z=7) def func(x, y, z=7) return x+y+z print func(1, y=3) # 1+3+7=11

№ слайда 14 Имена, определяемые внутри инструкции def, видны ТОЛЬКО программному коду внутри
Описание слайда:

Имена, определяемые внутри инструкции def, видны ТОЛЬКО программному коду внутри инструкции def. К ним нельзя обратиться за пределами функции. Имена, определяемые внутри инструкции def, видны ТОЛЬКО программному коду внутри инструкции def. К ним нельзя обратиться за пределами функции. Имена, определяемые внутри инструкции def, не вступают в конфликт с именами, находящимися за пределами инструкции def.

№ слайда 15 #Глобальная область видимости. #Глобальная область видимости. X = 99 # X и func
Описание слайда:

#Глобальная область видимости. #Глобальная область видимости. X = 99 # X и func определены в модуле: глобальная область def func(Y): # Y и Z определены в функции: локальная область #Локальная область видимости Z = X + Y # X – глобальная переменная return Z func(1) #result = 100

№ слайда 16 y, z = 1,2 #Глобальные переменные y, z = 1,2 #Глобальные переменные в модуле. de
Описание слайда:

y, z = 1,2 #Глобальные переменные y, z = 1,2 #Глобальные переменные в модуле. def all_global(): global x #объявляется глобальной для присваивания x = y + z

№ слайда 17
Описание слайда:

№ слайда 18 range(5) range(5) #[0, 1, 2, 3, 4] L = [ a ** 2 for a in range(5) ] #[0, 1, 4, 9
Описание слайда:

range(5) range(5) #[0, 1, 2, 3, 4] L = [ a ** 2 for a in range(5) ] #[0, 1, 4, 9, 16] L = [a**2 for a in range(5) if a % 2 == 1] #[1, 9] L = [a1 + a2 for a1 in ['a','b','c'] for a2 in ['x','y']] #['ax', 'ay', 'bx', 'by', 'cx', 'cy']

№ слайда 19 list1 = [1,3,5] list1 = [1,3,5] list2 =[1,2,3] def inc(x): return x+10 map(inc,
Описание слайда:

list1 = [1,3,5] list1 = [1,3,5] list2 =[1,2,3] def inc(x): return x+10 map(inc, list1) #[11, 13, 15] map(lambda x, y: x**y, list1, list2) #[1, 9, 125] [x * y for x, y in zip(list1, list2)] #[1, 9, 125]

№ слайда 20 list = [9, 1, -4, 3, 8] list = [9, 1, -4, 3, 8] filter(lambda x: x < 5, list)
Описание слайда:

list = [9, 1, -4, 3, 8] list = [9, 1, -4, 3, 8] filter(lambda x: x < 5, list) #[1, -4, 3] list = [9, 1, -4, 3, 8] [x for x in list if x < 5] # [1, -4, 3]

№ слайда 21 list = [2, 3, 4, 5, 6] list = [2, 3, 4, 5, 6] reduce(lambda res, x: res*x, list,
Описание слайда:

list = [2, 3, 4, 5, 6] list = [2, 3, 4, 5, 6] reduce(lambda res, x: res*x, list, 1) #720 = ((((1*2)*3)*4)*5)*6 reduce(lambda res, x: res*x, [], 1) #1 reduce(lambda res, x: [x]+res, [1, 2, 3, 4], []) #[4, 3, 2, 1] reversed([1,2,3,4,5]) #[5,4,3,2,1]

№ слайда 22 def f(x, y, z, a=None, b=None): def f(x, y, z, a=None, b=None): print x, y, z, a
Описание слайда:

def f(x, y, z, a=None, b=None): def f(x, y, z, a=None, b=None): print x, y, z, a, b apply(f, [1, 2, 3], {'a': 4, 'b': 5}) #1 2 3 4 5 f(*[1, 2, 3], **{'a': 4, 'b': 5}) 1 2 3 4 5

№ слайда 23 def make_adder(x): def make_adder(x): def adder(n): return x + n # захват переме
Описание слайда:

def make_adder(x): def make_adder(x): def adder(n): return x + n # захват переменной "x" из внешнего контекста return adder # То же самое, но через безымянные функции: make_adder = lambda x: ( lambda n: ( x + n ) ) f = make_adder(10) print f(7) # 17 print f(-4) # 6

№ слайда 24 from functools import partial from functools import partial def add(a, b): retur
Описание слайда:

from functools import partial from functools import partial def add(a, b): return a + b add1 = partial(add, b=1) print add1(2) #3

№ слайда 25 it = enumerate(sorted("PYTHON")) it.next() it = enumerate(sorted(&quot
Описание слайда:

it = enumerate(sorted("PYTHON")) it.next() it = enumerate(sorted("PYTHON")) it.next() #(0, 'H') print list(it) #[(1,'N'),(2,'O'),(3,'P'),(4,'T'),(5,'Y')]

№ слайда 26 генераторы — функции, сохраняющие внутреннее состояние: значения локальных перем
Описание слайда:

генераторы — функции, сохраняющие внутреннее состояние: значения локальных переменных и текущую инструкцию генераторы — функции, сохраняющие внутреннее состояние: значения локальных переменных и текущую инструкцию

№ слайда 27 генераторные выражения — выражения, дающие в результате генератор генераторные в
Описание слайда:

генераторные выражения — выражения, дающие в результате генератор генераторные выражения — выражения, дающие в результате генератор

№ слайда 28 Марк Лутц. Изучаем Питон. 3-е издание. Марк Лутц. Изучаем Питон. 3-е издание. ht
Описание слайда:

Марк Лутц. Изучаем Питон. 3-е издание. Марк Лутц. Изучаем Питон. 3-е издание. http://ru.wikipedia.org/wiki/Функциональное_программирование_на_Питоне http://ru.wikipedia.org/wiki/Функциональное_программирование Г. Россум, Ф.Л.Дж.Дрейк, Д.С.Откидач «Язык программирования Python» Журнал «Практика функционального программирования» http://fprog.ru/

Скачать эту презентацию

Презентации по предмету
Презентации из категории
Лучшее на fresher.ru