Что такое аннотации типов

В простейшем случае аннотация содержит непосредственно ожидаемый тип. Аннотации для переменных пишут через двоеточие после идентификатора. После этого может идти инициализация значения. Например price: int = 5 Параметры функции аннотируются также, как переменные, а возвращаемое значение указывается после стрелки -> и до завершающего двоеточия. Например,

 def indent_right(s: str, width: int) -> str:.

Важно: аннотация типов не есть то же самое, что статическая типизация.

Oct. 10, 2023, Источник

Пайтон язык с динамической типизацией. Объявляя переменные, мы не обязаны указывать ее тип. Но, чтобы улучить читаемость кода и его поддержку, мы можем дополнительно делать аннотации типов. Аннотации не обрабатываются интерпретатором и никак не влияют на производительность

Аннотации для переменных пишут через двоеточие после идентификатора

price: int = 5

Параметры функции аннотируются также, как переменные, а возвращаемое значение указывается после стрелки ->, и до завершающего двоеточия

def indent_right(s: str, width: int) -> str:
    return " " * (max(0, width - len(s))) + s

в функциях

Если же функция никогда не возвращает управление (например, как sys.exit), следует использовать аннотацию NoReturn:

def forever() -> NoReturn:
    while True:
        pass

Для полей класса аннотации должны быть указаны явно при определении класса.

class Book:
    title: str
    author: str

    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author

b: Book = Book(title='Fahrenheit 451', author='Bradbury')

 

 

Oct. 10, 2023, Источник

Аннотации типов- это синтаксическая особенность, которая позволяет указывать типы переменных, аргументов функций и возвращаемых значений функций в коде. Они не влияют на выполнение программы, но могут быть использованы в качестве средства документирования кода и инструмента статического анализа (например, с помощью инструментов статической типизации, таких как mypy).

Пример использования:

def add(x: int, y: int) -> int:
    return x + y

result: int = add(5, 3)
print(result)  # Вывод: 8

В этом примере `x: int` и `y: int` являются аннотациями типов для аргументов функции `add`, указывающими, что они должны быть целыми числами. Аннотация `-> int` указывает, что функция `add` должна возвращать целое число. Аннотации типов не являются обязательными. Однако они могут быть полезны для повышения читаемости кода и облегчения его анализа.

Feb. 19, 2024, easyoffer