Подпрограммы в Python
(Технологический профиль)
(Урок информатики в 10 классе)
Эльнар НУРИЗЯНОВ,
учитель информатики
гимназии №15
г.Казани
Цель урока. Сформировать представление о подпрограммах (функциях) в языке Python, их назначении, синтаксисе и способах использования.
Задачи:
- познакомить с понятием функции в программировании;
- изучить синтаксис объявления и вызова функций в Python;
- рассмотреть параметры и аргументы функций;
- освоить возврат значений из функции;
- отработать навыки создания и использования функций на практике.
- Понятие подпрограммы (функции)
Подпрограмма (функция) – это обособленный фрагмент кода, выполняющий определённую задачу и имеющий имя.
Зачем нужны функции:
- структурирование кода (разбиение на логические блоки);
- устранение дублирования кода;
- повышение читаемости и удобства сопровождения;
- возможность повторного использования.
- Синтаксис объявления функции
В Python функция объявляется с помощью ключевого слова def:
python
def имя_функции(параметры):
блок_кода
return результат
Элементы синтаксиса:
- def – ключевое слово для объявления функции;
- имя_функции – идентификатор (следует правилам именования переменных);
- параметры – переменные в скобках (могут отсутствовать);
- двоеточие : – завершает строку объявления;
- тело функции – блок кода с отступом;
- return – оператор возврата значения (необязательный).
Пример:
python
def greet():
print(«Привет, мир!»)
- Вызов функции
Чтобы выполнить функцию, нужно вызвать её по имени с круглыми скобками:
python
greet() # Выведет: Привет, мир!
Важно: если скобки отсутствуют, функция не выполняется (передаётся как объект).
- Параметры и аргументы
Параметр – переменная в объявлении функции (внутри скобок).
Аргумент – значение, передаваемое при вызове.
Виды параметров:
- позиционные (порядок важен);
- именованные (указываются по имени);
- со значением по умолчанию (если аргумент не передан).
Примеры:
- Позиционные параметры:
python
def add(a, b):
return a + b
result = add(3, 5) # a=3, b=5 → result=8
- Параметры со значением по умолчанию:
python
def power(base, exponent=2):
return base ** exponent
print(power(4)) # 16 (exponent=2 по умолчанию)
print(power(4, 3)) # 64
- Именованные аргументы:
python
print(power(base=5, exponent=3)) # 125
- Возврат значений
Оператор 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])
- Область видимости переменных
Локальные переменные – создаются внутри функции и доступны только в ней.
Глобальные переменные – объявлены вне функций и доступны везде.
Пример:
python
x = 10 # глобальная
def func():
y = 5 # локальная
print(x) # можно использовать глобальную
func()
print(y) # Ошибка! y не существует вне функции
Для изменения глобальной переменной внутри функции используют global:
python
def change_x():
global x
x = 20
- Анонимные функции (lambda)
Краткие функции без имени:
python
square = lambda x: x ** 2
print(square(5)) # 25
Синтаксис: lambda параметры: выражение.
- Практические задания
- Напишите функцию is_even(n), возвращающую True, если число чётное.
- Создайте функцию factorial(n) для вычисления факториала.
- Напишите функцию max_of_three(a, b, c), находящую максимальное из трёх чисел.
- Реализуйте функцию convert_temp(celsius), переводящую градусы Цельсия в Фаренгейты.
- Итоги урока
Ключевые понятия:
- функция – переиспользуемый блок кода;
- объявление через def, вызов через ();
- параметры и аргументы;
- возврат значений через return;
- область видимости переменных.
Что дальше: изучение рекурсии, функций с переменным числом аргументов, декораторов.
- Домашнее задание
- Написать функцию palindrome(s), проверяющую, является ли строка палиндромом.
- Создать функцию solve_quadratic(a, b, c), решающую квадратное уравнение (с обработкой случаев отсутствия корней).
- Придумать и реализовать свою полезную функцию с параметрами и возвратом значения.
