Подсказки типа: плохая практика для псевдонима примитивных типов данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подсказки типа: плохая практика для псевдонима примитивных типов данных?

Сообщение Anonymous »

В документации Python для печати и типа подсказки у нас есть пример ниже: < /p>

Код: Выделить всё

Vector = List[float]

def scale(scalar: float, vector: Vector) -> Vector:
return [scalar * num for num in vector]
< /code>
Vector
Тип псевдоним четко показывает, что псевдоним типа полезны для упрощения комплексных подписей типа.
Однако как насчет псевдонимов примитивных типов данных?

Код: Выделить всё

URL = str

def process_url(url: URL) -> URL:
pass
< /code>
vs.
def process_url(url: str) -> str:
pass
< /code>
Version with type alias URL
для примитивного типа str is:
  • Самодокументирование (среди прочего, теперь я могу пропустить документирование возвращаемого значения, так как это должно быть явно URL),
  • Устойчивое к изменению реализации типа (я могу переключаться на URL, чтобы быть DICT или названное. подписи). < /li>
    < /ul>
    Проблема в том, что я не могу найти кого -либо еще, следуя такой практике. Я просто боюсь, что непреднамеренно злоупотребляю подсказками типа для реализации своих собственных идей, а не следовать их предполагаемой цели. < /P>

    Примечание с 2020-10 < /strong> < /p>
    python 3.9 вводит «гибкую функцию и переменную аннотация», которые позволяют создавать аннотации, подобные: P> P, P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> class = "lang-py prettyprint-override">def speed_1(distance: "feet", time: "seconds") -> "miles per hour":
    pass

    def speed_2(
    distance: Annotated[float, "feet"], time: Annotated[float, "seconds"]
    ) -> Annotated[float, "miles per hour"]:
    pass
    < /code>
    Which renders aliasing data types for documenting purposes rather redundant!
    See:

    https://www.python.org/dev/peps/pep-0593/
  • https://realpython.com/python39-new-fea ... type-hints


Подробнее здесь: https://stackoverflow.com/questions/525 ... data-types
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Это плохая практика для псевдонима примитивных типов данных?
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Запрос о неявном приведении типов в Java для примитивных типов данных
    Anonymous » » в форуме JAVA
    0 Ответы
    81 Просмотры
    Последнее сообщение Anonymous
  • Подсказки типов и проверка типов для пользовательских типов IntEnum
    Anonymous » » в форуме Python
    0 Ответы
    69 Просмотры
    Последнее сообщение Anonymous
  • Подсказки типов и проверка типов для пользовательских типов IntEnum
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Подсказки типов и проверка типов для пользовательских типов IntEnum
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»