Похожие презентации:
Тема 4
1. Функции в Python: основы Обработка исключений
ФУНКЦИИ В PYTHON:ОСНОВЫ
ОБРАБОТКА ИСКЛЮЧЕНИЙ
2. Комментарии в Python
КОММЕНТАРИИ В PYTHONКомментарии — это текст внутри кода, который Python игнорирует при выполнении
программы.
Они нужны для:
• пояснения кода;
• заметок программиста;
• объяснения сложной логики;
• улучшения читаемости программы.
3. Что такое функция?
ЧТО ТАКОЕ ФУНКЦИЯ?Функция — это именованный блок кода,
который можно вызвать в любой момент
программы.
Основная цель функций — повторное
использование кода и повышение
читаемости.
Благодаря функциям код становится
модульным: можно разбить программу на
отдельные логические части.
4. Синтаксис функции и ее вызов
СИНТАКСИС ФУНКЦИИ И ЕЕ ВЫЗОВФункция в Python создаётся с помощью ключевого слова def. После него
указывают имя функции и список параметров в круглых скобках. Тело
функции пишется с отступами.
Вызов происходит по имени с круглыми скобками. Внутри скобок
указываются аргументы (если нужны).
5. Параметры функции
ПАРАМЕТРЫ ФУНКЦИИПараметры — это данные, которые
функция принимает при вызове. С их
помощью одна и та же функция
может работать с разными входными
значениями
6. Параметр vs Аргумент
ПАРАМЕТР VS АРГУМЕНТВажно различать эти понятия:
Параметр — это переменная в определении функции (то, что функция
ожидает получить)
Аргумент — это конкретное значение, которое передаётся при вызове
7. Функция с несколькими параметрами
ФУНКЦИЯ С НЕСКОЛЬКИМИПАРАМЕТРАМИ
Функция может принимать любое
количество параметров. Они
перечисляются через запятую
При вызове аргументы передаются в том
же порядке, что и параметры. Такой
способ называется позиционным.
8. Возврат значений (return)
ВОЗВРАТ ЗНАЧЕНИЙ (RETURN)Функция может возвращать результат с
помощью ключевого слова return. Если
return отсутствует, функция возвращает
None (ничего).
Возврат нескольких значений
(упаковываются в кортеж)
9. Зачем возвращать значение
ЗАЧЕМ ВОЗВРАЩАТЬ ЗНАЧЕНИЕФункция, которая просто
печатает результат, не
позволяет использовать этот
результат дальше. Функция с
return возвращает значение,
которое можно сохранить в
переменную или передать в
другую функцию.
10. Параметры по умолчанию
ПАРАМЕТРЫ ПО УМОЛЧАНИЮЕсли задать параметру значение по умолчанию, его можно не указывать
при вызове.
Параметры со
значениями по
умолчанию должны
идти после всех
обязательных
параметров.
11. Именованные аргументы
ИМЕНОВАННЫЕ АРГУМЕНТЫОбычно аргументы
передаются в том
порядке, в котором
объявлены параметры
(позиционные аргументы).
Но можно передавать
аргументы, указывая имя
параметра. Это
именованные аргументы.
12. Основы ООП. Что такое класс
ОСНОВЫ ООП. ЧТО ТАКОЕ КЛАССКласс — это шаблон для создания объектов. Он описывает, какие
данные (атрибуты) будут у объектов и какие действия (методы) они
смогут выполнять.
Если функция — это способ не повторять код, то класс — это
способ группировать данные и функции, которые с этими данными
работают.
13. Что такое объект
ЧТО ТАКОЕ ОБЪЕКТОбъект — это конкретный экземпляр класса,
созданный по этому шаблону. Если класс — это
чертёж, то объект — это реальная деталь,
созданная по этому чертежу.
В памяти создаются два разных объекта. Каждый объект существует
отдельно.
14. Конструктор init
КОНСТРУКТОР initМетод __init__ вызывается автоматически при создании объекта. Он
нужен, чтобы задать начальные значения атрибутов.
15. Параметр self
ПАРАМЕТР selfself — это ссылка на сам объект. Когда мы пишем self.name = name, мы
сохраняем значение в атрибут именно того объекта, для которого
вызывается __init__.
Не нужно передавать self вручную — Python делает это автоматически.
При вызове Person("Анна", 25) Python сам подставляет новый объект в
параметр self.
16. Атрибуты объекта
АТРИБУТЫ ОБЪЕКТААтрибуты — это
данные, которые
хранятся внутри
объекта. К ним можно
обращаться через
точку.
17. Методы класса
МЕТОДЫ КЛАССАМетод — это
функция, которая
принадлежит классу и
работает с его
объектами. Первый
параметр метода
всегда self.
18. Зачем нужны методы
ЗАЧЕМ НУЖНЫ МЕТОДЫМетоды позволяют объекту выполнять действия, используя свои
собственные данные. Методу не нужно передавать name и age как
аргументы — он берёт их из self.
Это главное отличие ООП от процедурного подхода: данные и операции
над ними находятся вместе, внутри объекта.
19. Наследование
НАСЛЕДОВАНИЕНаследование позволяет создать новый класс на основе существующего.
Новый класс (дочерний) получает все атрибуты и методы родительского
класса и может добавлять свои или изменять существующие.
Это позволяет
переиспользовать код и
строить иерархии: общее
выносится в родительский
класс, частное — в
дочерние.
20. Использование наследования
ИСПОЛЬЗОВАНИЕ НАСЛЕДОВАНИЯОбъект дочернего
класса имеет все
методы родительского.
21. Переопределение методов
ПЕРЕОПРЕДЕЛЕНИЕ МЕТОДОВДочерний класс может
переопределить метод
родительского, просто
создав метод с тем же
именем.
22. Полиморфизм
ПОЛИМОРФИЗМПолиморфизм — это способность одного и того же метода работать поразному в разных классах.
Если у разных классов есть метод с одинаковым именем, мы можем
вызывать этот метод, не задумываясь о том, объект какого именно класса
перед нами. Объект сам знает, как правильно выполнить метод.
23. Пример полиморфизма
ПРИМЕР ПОЛИМОРФИЗМАФункция make_sound работает с любым объектом, у которого есть метод
sound.
24. Встроенные функции: type() и isinstance()
ВСТРОЕННЫЕ ФУНКЦИИ: TYPE() И ISINSTANCE()type() — возвращает тип объекта.
isinstance() — проверяет, принадлежит ли объект указанному классу
(или его наследнику).
25. Встроенные функции: hasattr()
ВСТРОЕННЫЕ ФУНКЦИИ: HASATTR()hasattr() — проверяет, есть ли у объекта атрибут с указанным именем.
Возвращает True или False.
26. Встроенные функции: getattr()
ВСТРОЕННЫЕ ФУНКЦИИ: GETATTR()getattr() — возвращает
значение атрибута по его
имени (в виде строки).
Если атрибута нет —
можно указать значение по
умолчанию, чтобы не было
ошибки.
27. Встроенные функции: setattr()
ВСТРОЕННЫЕ ФУНКЦИИ: SETATTR()setattr() —
устанавливает
значение атрибута
по его имени. Если
атрибута не
существовало — он
создаётся.
28. Встроенные функции: dir()
ВСТРОЕННЫЕ ФУНКЦИИ: DIR()dir() возвращает список всех атрибутов и методов объекта. Полезно
для изучения объекта или отладки.
Программирование