Подпрограммы в Python

  

(Технологический профиль)

(Урок информатики в 10 классе)

 

Эльнар НУРИЗЯНОВ,

учитель информатики

гимназии №15

г.Казани

 

Цель урока. Сформировать представление о подпрограммах (функциях) в языке Python, их назначении, синтаксисе и способах использования.

Задачи:

  • познакомить с понятием функции в программировании;
  • изучить синтаксис объявления и вызова функций в Python;
  • рассмотреть параметры и аргументы функций;
  • освоить возврат значений из функции;
  • отработать навыки создания и использования функций на практике.

 

  1. Понятие подпрограммы (функции)

Подпрограмма (функция) – это обособленный фрагмент кода, выполняющий определённую задачу и имеющий имя.

Зачем нужны функции:

  • структурирование кода (разбиение на логические блоки);
  • устранение дублирования кода;
  • повышение читаемости и удобства сопровождения;
  • возможность повторного использования.

 

  1. Синтаксис объявления функции

В Python функция объявляется с помощью ключевого слова def:

python

def имя_функции(параметры):

блок_кода

return результат

Элементы синтаксиса:

  • def – ключевое слово для объявления функции;
  • имя_функции – идентификатор (следует правилам именования переменных);
  • параметры – переменные в скобках (могут отсутствовать);
  • двоеточие : – завершает строку объявления;
  • тело функции – блок кода с отступом;
  • return – оператор возврата значения (необязательный).

Пример:

python

def greet():

print(«Привет, мир!»)

 

  1. Вызов функции

Чтобы выполнить функцию, нужно вызвать её по имени с круглыми скобками:

python

greet()  # Выведет: Привет, мир!

Важно: если скобки отсутствуют, функция не выполняется (передаётся как объект).

 

  1. Параметры и аргументы

Параметр – переменная в объявлении функции (внутри скобок).
Аргумент – значение, передаваемое при вызове.

Виды параметров:

  • позиционные (порядок важен);
  • именованные (указываются по имени);
  • со значением по умолчанию (если аргумент не передан).

Примеры:

  1. Позиционные параметры:

python

def add(a, b):

return a + b

 

result = add(3, 5)  # a=3, b=5 → result=8

  1. Параметры со значением по умолчанию:

python

def power(base, exponent=2):

return base ** exponent

 

print(power(4))      # 16 (exponent=2 по умолчанию)

print(power(4, 3))  # 64

  1. Именованные аргументы:

python

print(power(base=5, exponent=3))  # 125

 

  1. Возврат значений

Оператор return передаёт результат работы функции:

python

def square(x):

return x ** 2

 

y = square(4)  # y = 16

Особенности:

  • если return отсутствует, функция возвращает None;
  • можно возвращать несколько значений (через запятую) – они упаковываются в кортеж:

python

def stats(numbers):

return sum(numbers), len(numbers), sum(numbers)/len(numbers)

 

total, count, avg = stats([1, 2, 3, 4])

 

  1. Область видимости переменных

Локальные переменные – создаются внутри функции и доступны только в ней.
Глобальные переменные – объявлены вне функций и доступны везде.

Пример:

python

x = 10  # глобальная

 

def func():

y = 5  # локальная

print(x)  # можно использовать глобальную

 

func()

print(y)  # Ошибка! y не существует вне функции

Для изменения глобальной переменной внутри функции используют global:

python

def change_x():

global x

x = 20

 

  1. Анонимные функции (lambda)

Краткие функции без имени:

python

square = lambda x: x ** 2

print(square(5))  # 25

Синтаксис: lambda параметры: выражение.

 

  1. Практические задания
  2. Напишите функцию is_even(n), возвращающую True, если число чётное.
  3. Создайте функцию factorial(n) для вычисления факториала.
  4. Напишите функцию max_of_three(a, b, c), находящую максимальное из трёх чисел.
  5. Реализуйте функцию convert_temp(celsius), переводящую градусы Цельсия в Фаренгейты.

 

  1. Итоги урока

Ключевые понятия:

  • функция – переиспользуемый блок кода;
  • объявление через def, вызов через ();
  • параметры и аргументы;
  • возврат значений через return;
  • область видимости переменных.

Что дальше: изучение рекурсии, функций с переменным числом аргументов, декораторов.

 

  1. Домашнее задание
  2. Написать функцию palindrome(s), проверяющую, является ли строка палиндромом.
  3. Создать функцию solve_quadratic(a, b, c), решающую квадратное уравнение (с обработкой случаев отсутствия корней).
  4. Придумать и реализовать свою полезную функцию с параметрами и возвратом значения.