|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Точность выполнения кода в задачах жизни и смерти. Утиная типизация (Duck tuping)19.11.2019, 07:48. Показов 15986. Ответов 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 | |
|
вопрос жизни и смерти!!
Вопрос жизни и смерти.. Файлы.(Вопрос жизни и смерти)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|