|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Точность выполнения кода в задачах жизни и смерти. Утиная типизация (Duck tuping)19.11.2019, 07:48. Показов 15632. Ответов 125
Это принцип в Python по аналогии, что когда что-то крякает, как утка и ходит, как утка, то это является уткой. Если буду писать программы, связанные с медицинской диагностикой с разветвлениями алгоритма в тысячи вариантов, то как избежать ошибок, чтобы программа не приняла одни данные за другие?
0
|
|
| 19.11.2019, 07:48 | |
|
Ответы с готовыми решениями:
125
Утиная типизация Утиная типизация дело жизни и смерти |
|
Просто Лис
|
||||||
| 03.12.2019, 11:06 | ||||||
|
Не по теме: лол:
Первая ссылка - это просто расстановка аннотаций. В рантайме это ничего не даёт. Вторая отсылает опять же как правильно расставлять аннотации, чтобы статический анализатор лучше понимал код. Видео посмотреть не могу.
1
|
||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 03.12.2019, 11:16 [ТС] | ||
|
Что значит
0
|
||
|
Просто Лис
|
|
| 03.12.2019, 11:23 | |
|
Это когда программа выполняется (run time).
То есть, допустим, во время выполнения программы бросаются исключения (деление на ноль, выход за границы списка и прочее). Вот если бы аннотации проверяли на самом деле тип переменных и бросали бы исключения, если это не так - была бы польза от них. Но этого нет, потому что любая проверка в рантайме замедляет выполнение основного кода. Статическая проверка типов данных (в том числе статические анализаторы) смотрит на код, не важно будет ли он запущен и не важно выполнится ли когда-нибудь одна из веток кода - она всё проверит. В питоне же нельзя сказать точно, правильно написан ли код (может там обращение к несуществующей переменной?), если не выполнить его хоть раз.
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 03.12.2019, 11:43 [ТС] | |
|
Так решают ли нововведения проблемы динамической типизации с точки зрения обсуждаемой темы?
0
|
|
|
|
|
| 03.12.2019, 12:43 | |
|
supmener, а какие проблемы с динамической типизацией?
Если куда-то передали что-то не то - оно просто упадёт. И всё ок - ошибка выявлена, можно править. Чтобы пореже передавать что-то не то - существует type hinting (в широком смысле). Но это просто подсказки. Понимаете, питон изначально сделан с duck typing. Если вам по каким-то причинам это не нравится или не подходит - не используйте его. Не надо пытаться его переделать. Есть куча языков со строгой статичной типизацией, в том числе мейнстримовые. Но я бы просто посоветовал вам расслабиться и получить удовольствие. В duck typing есть свои плюсы, просто их замечаешь не сразу. Добавлено через 2 минуты supmener, кстати, я не в курсе, как в Аде обстоит дело со сборщиком мусора?
2
|
|
|
Просто Лис
|
||||||||||||
| 03.12.2019, 12:48 | ||||||||||||
1
|
||||||||||||
|
|
|
| 03.12.2019, 12:49 | |
|
supmener, и ещё один совет.
Если вам важна надёжность программ как реализованных алгоритмов - вам нужно тестирование. В смысле, его вам нужно изучить, как делается. В процессе изучения, кстати, появится и кое-какое понимание, как функции писать. Добавлено через 37 секунд Рыжий Лис, ну, всяко бывает. Это Питон
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 03.12.2019, 12:51 [ТС] | ||
Ада позволяет программисту выбрать один из следующих механизмов управления памятью: ручной режим. В этом случае программист освобождает память каждого объекта индивидуально. пул памяти. Объекты можно удалять, как каждый отдельно, так и весь пул целиком. сборщик мусора. Этот режим может быть реализован не во всех системах. Источник ada-ru.org
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 03.12.2019, 13:06 | |
|
Чувствую, тема скоро переместится в холивары. Там есть много ярых поклонников\ненавистников GC.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 03.12.2019, 13:19 [ТС] | ||
|
Что такое GC?
Это Питон изучаю, а не АДА.
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||
| 03.12.2019, 13:31 [ТС] | ||
|
О вопросах надежности в Python заинтересовался, когда узнал об утиной типизации. Посты в этой теме тоже очень помогли.
Добавлено через 1 минуту
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.12.2019, 19:30 [ТС] | |
|
если объявить две переменные: часы и минуты, и сложить их, Ада не даст. В Аде можно объявлять новые целочисленные типы данных с ограничениями вроде диапазонов возможных значений.
0
|
|
| 16.12.2019, 02:35 | |
|
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 16.12.2019, 18:40 [ТС] | |
|
А в Pypi нету модуля защиты от дурака? Чтобы сделать из Питона Аду?
0
|
|
|
|
||
| 16.12.2019, 20:01 | ||
|
Достаточно создать свои классы с нужными ограничениями. Ничто не мешает программисту сделать также в Python. Разве что его лень...
1
|
||
| 16.12.2019, 20:01 | |
|
вопрос жизни и смерти!!
Вопрос жизни и смерти.. Файлы.(Вопрос жизни и смерти)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 25.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 25.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 22.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|