ФУНКЦИИ в Python — презентация
logo
ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
  • ФУНКЦИИ в Python
1/16

Первый слайд презентации: ФУНКЦИИ в Python

Изображение слайда

Слайд 2

Функция в P ython - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции  def. Инструкция  return  говорит, что нужно вернуть значение. В нашем случае функция возвращает сумму x и y. Если инструкции  return  нет, тогда по умолчанию функция будет возвращать объект  None

Изображение слайда

Слайд 3

Формальные параметры – это локальные переменные необходимые для описания алгоритма функции, они описываются в ее заголовке и используются в собственном разделе операторов. Параметры функции Все что, записывается в скобках сразу после названия функции, называется ее параметрами. Фактические параметры – это набор данных, в обработке которых и заключается предназначение алгоритма. Фактические параметры у подпрограммы могут меняться при каждом вызове, а формальные нет. Другими словами фактические параметры – все то, что указывается в скобках справа от названия функции при ее вызове. В момент вызова формальные параметры заменяются фактическими во всей функции.

Изображение слайда

Слайд 4

def F(n): if n==1: return 1 if n%2==0: return n+F (n-1) if n>1 and n%2!=0: return 2*F(n-2) print(F(26))

Изображение слайда

Слайд 5

Переменная, доступ к которой можно получить из любого места в коде, называется глобальной. Другими словами,  глобальная переменная, объявленная вне функции, будет доступна внутри нее. Переменная, объявленная внутри определенного блока кода, будет видна только внутри этого же блока — она называется локальной. Локальные и глобальные переменные def sum (): a = 10 # локальные переменные b = 20 c = a + b print ("Сумма:", c) sum () Переменная объявлена внутри функции и может использоваться только в ней.

Изображение слайда

Слайд 6

Для решения этой проблемы используются глобальные переменные. Теперь взгляните на этот пример с глобальными переменными: a = 20 # определены вне функции b = 10 def sum (): c = a + b # Использование глобальных переменных print ("Сумма:", c) def sub (): d = a - b # Использование глобальных переменных print ("Разница:", d) sum () sub () В этом коде были объявлены две глобальные переменные: a и b. Они используются внутри функций sum () и sub (). Обе возвращают результат при вызове.

Изображение слайда

Слайд 7

Если определить локальную переменную с тем же именем, то приоритет будет у нее. Посмотрите, как в функции msg это реализовано. def msg (): m = "Привет, как дела?" print (m) msg () m = "Отлично!" # глобальная переменная print (m) Вывод: Привет, как дела? Отлично! Здесь была объявлена локальная переменная с таким же именем, как и у глобальной. Сперва выводится значение локальной, а после этого — глобальной.

Изображение слайда

Слайд 8

Python предлагает ключевое слово global, которое используется для изменения значения глобальной переменной в функции. Необходим для изменения значения ! Правила использования global Если значение определено на выходе функции, то оно автоматически станет глобальной переменной. Ключевое слово global используется для объявления глобальной переменной внутри функции. Нет необходимости использовать global для объявления глобальной переменной вне функции.

Изображение слайда

Слайд 9

c = 10 def mul(): c = c * 10 print(c) mul() line 5, in mul c = c * 10 UnboundLocalError : local variable 'c' referenced before assignment Пример без использования глобального ключевого слова Этот код вернул ошибку, потому что была предпринята попытка присвоить значение глобальной переменной. Изменять значение можно только с помощью ключевого слова global. c = 10 def mul (): global c c = c * 10 print ("Значение в функции:", c) mul () print ("Значение вне функции:", c) Здесь переменная c была объявлена в функции mul () с помощью ключевого слова global. Ее значение умножается на 10 и становится равным 100. В процессе работы программы можно увидеть, что изменение значения внутри функции отражается на глобальном значении переменной.

Изображение слайда

Слайд 10

k=0 def F(n): global k k=k+1 if n>0: F(n-2) F(n-2) F(n//2) return k print(F(6))

Изображение слайда

Слайд 11

k=0 def F( n ): global k k=k+1 if n > 0: G(n - 1) return k def G( n ): global k k=k+1 if n > 1: F(n - 2) return k print(F(13))

Изображение слайда

Слайд 12

k=0 def F(n): print( ‘* ’) if n>0: F(n-2) F(n-2) F(n//2) print(F(2)) F(2) * if n>0: F(0) * F(0) * F(1) * if n>0: F(-1) * F(-1) * F(0) * None Рекурсия Рекурсия  — это способ организации циклического процесса путем вызова рекурсивной функции. Рекурсивная функция — это функция, которая содержит код вызова самой себя с целью организации циклического процесса. С помощью рекурсивных функций можно с минимальным объемом кода решать некоторые задачи, обойдя использование (объявление) лишних структур данных. Рекурсию можно рассматривать как альтернативу циклам и итерациям.

Изображение слайда

Слайд 13

(№ 4173) (Е. Джобс) Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(0) = 1, F(1) = 3 F(n) = F(n–1) - F(n-2) + 3n, при n > 1. Чему равно значение функции F(40)? В ответе запишите только целое число. from functools import lru_cache @ lru_cache () def F(n): if n==0: return 1 if n==1: return 3 if n>1: return F(n-1)-F(n-2)+3*n print(F(40)) f=[0]*41 for n in range (1,41): if n==0: f[n]=1 if n==1: f[n]=3 if n>1: f[n]= f[n-1]-f[n-2]+3*n print(f[40]) 1 способ: 2 способ:

Изображение слайда

Слайд 14

(№ 4172) (Е. Джобс) Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(n) = n + 3, при n ≤ 3 F(n) = F(n – 2) + n, при n > 3 и четном значении F(n-1), F(n) = F(n – 2) + 2•n, при n > 3 и нечетном значении F(n-1). Определите сумму значений, являющихся результатом вызова функции для значений n в диапазоне [40; 50]. from functools import lru_cache @ lru_cache () def F(n): if n<=3: return n+3 if F(n-1)%2==0 and n>3: return F(n-2)+n if n%2!=0 and n>3: return F(n-2)+2*n s=0 for i in range (40,51): s= s+F ( i ) print(s) s=0 f=[0]*51 for n in range (1,51): if n<=3: f[n]=n+3 if f[n-1]%2==0 and n>3: f[n]=f[n-2]+n if n%2!=0 and n>3: f[n]=f[n-2]+2*n print(sum(f[40:51])) 2 способ: 1 способ:

Изображение слайда

Слайд 15

https://kpolyakov.spb.ru/school/egetest/b16-py.htm

Изображение слайда

Последний слайд презентации: ФУНКЦИИ в Python

import sys sys.setrecursionlimit (3000) def f(n): if n==1: return 1 if n>1: return n*f(n-1) print (f(2023)/f(2020))

Изображение слайда

Похожие презентации