Python_tutorial
  • Вступление
  • Web
    • Введение в web-программирование
  • Основы программирования
    • Файл-менеджмент
    • Алгоритм. Блок-схема
    • Обзор языков программирования
  • Введение в Python
    • Особенности языка Python
    • Установка. Использование
    • Основные определения. Простые типы данных
    • Переменные*
    • Встроенные функции. f-строки
    • Ошибки
    • Основы командной строки
  • Операторы ветвлений, циклы, исключения
    • Условные конструкции и их синтаксис
    • Циклы
    • Обработка исключений
  • Строки. Списки
    • Строки
    • Регулярные выражения (regex)*
    • Списки
    • Изменяемые и неизменяемые объекты в Python*
    • Практика
  • Функции
    • Введение в функции. Модули
    • Функции. Продолжение
    • Функциональное программирование
    • Замыкания. Карринг. Декораторы.
    • Практика
  • Практика программирования
    • Стандарты написания кода
    • Основы тестирования*
    • Аннотации типов*
  • Основы алгоритмов
    • Введение
    • Алгоритмы поиска
    • Алгоритмы сортировки
  • Коллекции
    • Введение
    • Кортежи
    • Словари
    • Множества
    • Практика
  • Файлы
    • Введение
    • Работа с файлами в Python
  • Системы контроля версий
    • Введение в Git
  • Проект 1: Десктопное приложение
    • План работы
  • Основы ООП
    • Введение в ООП
  • Последние обновления
  • Обратная связь
    • Связаться с нами
Powered by GitBook
On this page
Edit on GitHub
  1. Практика программирования

Аннотации типов*

Аннотации типов — это возможность указать типы параметров и возвращаемое значение у функции в Python.

  • Это не требование языка, но помогает программистам в дальнейшей разработке: улучшает читаемость кода и повышает его надежность.

Давайте рассмотрим простой пример функции без аннотаций типов:

def concat(first, second):
    return first + second
  • Эта функция конкатенирует две строки в одну. При этом с первого взгляда на код сложно понять, что происходит в нем: какие типы у аргументов, почему функция работает со строками, а не складывает, например, два числа.

  • Если в дальнейшем использовать эту функцию в коде, то может возникнуть необходимость проверять типы аргументов перед передачей их в функцию, что увеличивает объем кода и затрудняет его понимание.

Теперь давайте добавим аннотации типов к функции:

def concat(first: str, second: str) -> str:
    return first + second
  • Здесь мы указали, что аргументы first и second должны быть строкового типа (str). Возвращаемое значение тоже будет строковым. Когда мы будем использовать эту функцию в коде, нам будет проще понять, какие типы аргументов можно передавать и какой тип возвращаемого значения ожидается.

Аннотации типов также могут быть использованы для определения типов переменных внутри функции. Например:

def double(n: int) -> int:
    result: int = n * 2
    return result
  • В этом примере мы определили тип переменной result как int, используя аннотацию типа.

Аннотации типов — это не строгая проверка типов в Python.

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

  • Но использование аннотации типов упрощает чтение и понимание кода и помогает обнаружить ошибки

Практика:

  • Реализуйте функцию word_multiply(). Она должна принимать два параметра:

    • Строку

    • Число, которое обозначает, сколько раз нужно повторить строку

# пример работы функции
text = 'python'
print(word_multiply(text, 2)) # => pythonpython
print(word_multiply(text, 0)) # => 
  • Укажите аннотации типов при объявлении функции

PreviousОсновы тестирования*NextВведение

Last updated 1 year ago