🗊 Юрова Анна, группа 222

Категория: Информатика
Нажмите для полного просмотра!
  
    Юрова Анна, группа 222  , слайд №1  
    Юрова Анна, группа 222  , слайд №2  
    Юрова Анна, группа 222  , слайд №3  
    Юрова Анна, группа 222  , слайд №4  
    Юрова Анна, группа 222  , слайд №5  
    Юрова Анна, группа 222  , слайд №6  
    Юрова Анна, группа 222  , слайд №7  
    Юрова Анна, группа 222  , слайд №8  
    Юрова Анна, группа 222  , слайд №9  
    Юрова Анна, группа 222  , слайд №10  
    Юрова Анна, группа 222  , слайд №11  
    Юрова Анна, группа 222  , слайд №12  
    Юрова Анна, группа 222  , слайд №13  
    Юрова Анна, группа 222  , слайд №14  
    Юрова Анна, группа 222  , слайд №15  
    Юрова Анна, группа 222  , слайд №16  
    Юрова Анна, группа 222  , слайд №17  
    Юрова Анна, группа 222  , слайд №18  
    Юрова Анна, группа 222  , слайд №19  
    Юрова Анна, группа 222  , слайд №20  
    Юрова Анна, группа 222  , слайд №21  
    Юрова Анна, группа 222  , слайд №22  
    Юрова Анна, группа 222  , слайд №23  
    Юрова Анна, группа 222  , слайд №24  
    Юрова Анна, группа 222  , слайд №25  
    Юрова Анна, группа 222  , слайд №26  
    Юрова Анна, группа 222  , слайд №27  
    Юрова Анна, группа 222  , слайд №28

Содержание

Вы можете ознакомиться и скачать Юрова Анна, группа 222 . Презентация содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1






Юрова Анна, группа 222
Описание слайда:
Юрова Анна, группа 222

Слайд 2





Парадигма программирования.
Описание слайда:
Парадигма программирования.

Слайд 3





Функциональное программирование
Описание слайда:
Функциональное программирование

Слайд 4





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

Слайд 5





Модель вычисления без состояний.
Описание слайда:
Модель вычисления без состояний.

Слайд 6





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

Слайд 7





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

Слайд 8





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

Слайд 9





Python.
Описание слайда:
Python.

Слайд 10





Функции в Python.
def <name>(arg1, arg2,..., argN):
    '''строка документации'''
    <statements>
Описание слайда:
Функции в Python. def <name>(arg1, arg2,..., argN): '''строка документации''' <statements>

Слайд 11





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

Слайд 12





Функции в Python.
def func(x, y): 
   return x**2 + y**2 

func = lambda x, y: x**2 + y**2
Описание слайда:
Функции в Python. def func(x, y): return x**2 + y**2 func = lambda x, y: x**2 + y**2

Слайд 13





Функции в Python. Аргументы.
def func(x, y, z=7)
    return x+y+z
 
print func(1, y=3) # 1+3+7=11
Описание слайда:
Функции в Python. Аргументы. 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, не вступают в конфликт с именами, находящимися за пределами инструкции def.

Слайд 15





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

Слайд 16





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

Слайд 17





Функции в Python.
Описание слайда:
Функции в Python.

Слайд 18





List comprehension.
(Списочные выражения)
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']
Описание слайда:
List comprehension. (Списочные выражения) 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





Функции высших порядков. Map().
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]
Описание слайда:
Функции высших порядков. Map(). 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





Функции высших порядков. Filter()
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]
Описание слайда:
Функции высших порядков. Filter() 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





Функции высших порядков. Reduce()
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]
Описание слайда:
Функции высших порядков. Reduce() 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





Функции высших порядков. Apply()
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
Описание слайда:
Функции высших порядков. Apply() 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 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
Описание слайда:
Замыкания. 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





Замыкания. Partial.
from functools import partial 
def add(a, b): 
    return a + b 

add1 = partial(add, b=1) 


print add1(2) 
#3
Описание слайда:
Замыкания. 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() 
#(0, 'H') 

print list(it) 
#[(1,'N'),(2,'O'),(3,'P'),(4,'T'),(5,'Y')]
Описание слайда:
Итераторы. 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-е издание.
http://ru.wikipedia.org/wiki/Функциональное_программирование_на_Питоне
http://ru.wikipedia.org/wiki/Функциональное_программирование
Г. Россум, Ф.Л.Дж.Дрейк, Д.С.Откидач «Язык программирования Python»
Журнал «Практика функционального программирования» http://fprog.ru/
Описание слайда:
Литература. Марк Лутц. Изучаем Питон. 3-е издание. http://ru.wikipedia.org/wiki/Функциональное_программирование_на_Питоне http://ru.wikipedia.org/wiki/Функциональное_программирование Г. Россум, Ф.Л.Дж.Дрейк, Д.С.Откидач «Язык программирования Python» Журнал «Практика функционального программирования» http://fprog.ru/



Похожие презентации
Mypresentation.ru
Загрузить презентацию