|
28 / 20 / 10
Регистрация: 01.12.2018
Сообщений: 186
|
|
Аннотации в Python11.03.2023, 20:22. Показов 838. Ответов 12
Метки нет (Все метки)
Здравствуйте. По воле случая пришлось столкнуться с Python, но очень уж не могу отвыкнуть от строгой типизации. Почитав документацию, узнал, что есть так называемые аннотации, которые позволят хоть как то код сделать более удобочитаемым, знать, что принимает функция, что возвращает и т.д. Так вот возник вопрос: необходимо в функцию передавать функцию, имеющую определенные аргументы и возвращающая значение (использую в численных методах). Так вот, простые типы int, str, float и т.д. аннотировать получается, а вот функцию в качестве параметра нет. Каким образом это можно сделать, чтобы аннотировать функцию как параметр (было известно, что эта функция в себя принимает при ее использовании и что возвращает). Перечитал интернет, либо никто такого не делает, либо не реализовано. Хотелось бы ответ от специалистов получить, потому что я все, до чего добрался, перерыл уже. Спасибо.
0
|
|
| 11.03.2023, 20:22 | |
|
Ответы с готовыми решениями:
12
Аннотации функций в Python З.Х Аннотации
|
|
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
|
|
| 11.03.2023, 20:41 | |
|
1
|
|
|
28 / 20 / 10
Регистрация: 01.12.2018
Сообщений: 186
|
||
| 11.03.2023, 20:51 [ТС] | ||
|
kazak, спасибо.
0
|
||
|
Автоматизируй это!
|
|||
| 11.03.2023, 21:04 | |||
|
0
|
|||
|
28 / 20 / 10
Регистрация: 01.12.2018
Сообщений: 186
|
|
| 11.03.2023, 21:15 [ТС] | |
|
Welemir1, а что делать в случае больших проектов, где жизненно важна типизация? Все держать в голове? Комментировать? Или же питон для больших проектов не используют, а используют в случае, если надо скриптик накидать, автоматизировать что либо здесь и сейчас?
0
|
|
|
Автоматизируй это!
|
|
| 11.03.2023, 21:27 | |
|
fakemade, ничего не надо держать в голове -это и невозможно, просто привыкаешь к динамической типизации, плюс есть дзен питона и практики написания кода. Аннотации тоже применяют достаточно широко, по крайней мере для сложных функций.
Писать можно проекты любых размеров, питон не единственный язык с динамикой. Ты посмотри с другой стороны -тут есть то, чего нет в статических языках, например гораздо удобнее тестировать код, удобнее создавать реализации поведения не используя наследование и так далее.
0
|
|
|
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
|
||
| 12.03.2023, 01:52 | ||
|
Не по теме: Я использую аннотации везде, потому что vscode красиво их выделяет
1
|
||
|
28 / 20 / 10
Регистрация: 01.12.2018
Сообщений: 186
|
|
| 12.03.2023, 16:53 [ТС] | |
|
Welemir1, да, работаю как раз в нем, он действительно подчеркивает, если возврат отличается от ожидаемого, так хотя бы ошибки легче отлавливать.
Не по теме: А еще столкнулся с тем сегодня, что я не могу просто скопировать список, нужно использовать глубокое копирование, иначе новый список указывает на все тот же объект и изменение в одном приводит к изменению во всех, которые ссылаются на тот же объект:)
0
|
|
|
Любознательный
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,214
|
|||||||
| 13.03.2023, 16:23 | |||||||
|
Пользуйтесь срезами...
2
|
|||||||
|
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,316
|
||||||
| 13.03.2023, 17:27 | ||||||
|
YuS_2,
и что эти
0
|
||||||
|
Любознательный
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,214
|
||
| 13.03.2023, 21:01 | ||
|
Во всяком случае, в питоне легко проверить объект на совпадение по адресу id(), не в каждом языке существует такая возможность... И главное, не всегда ведь требуется, а иногда и противопоказано, чтобы при изменении "дочернего" объекта изменялся и "родительский" (термины условные, но надеюсь понятные).
0
|
||
| 13.03.2023, 21:01 | |
|
Помогаю со студенческими работами здесь
13
Рефлексии и аннотации аннотации hibernate
Аннотации JPA Аннотации, .class Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|