|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Точность выполнения кода в задачах жизни и смерти. Утиная типизация (Duck tuping)19.11.2019, 07:48. Показов 15557. Ответов 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 | |
|
вопрос жизни и смерти!!
Вопрос жизни и смерти.. Файлы.(Вопрос жизни и смерти)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
начало и оглавление
-
Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|