Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/76: Рейтинг темы: голосов - 76, средняя оценка - 4.99
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Точность выполнения кода в задачах жизни и смерти. Утиная типизация (Duck tuping)

19.11.2019, 07:48. Показов 15349. Ответов 125

Студворк — интернет-сервис помощи студентам
Это принцип в Python по аналогии, что когда что-то крякает, как утка и ходит, как утка, то это является уткой. Если буду писать программы, связанные с медицинской диагностикой с разветвлениями алгоритма в тысячи вариантов, то как избежать ошибок, чтобы программа не приняла одни данные за другие?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2019, 07:48
Ответы с готовыми решениями:

Утиная типизация
Нужно ли проверять типы данных аргументов передаваемых в метод класса или функции, как лучше делать: проверять с помощью isinstance или...

Утиная типизация
Подскажите пожалуйста, две ситуации Первая, у меня есть метод который работает int float , но если будет передаваться, что-то другое...

дело жизни и смерти
У меня скоро конец семестра,а училка задала мне задачи,а я в паскале ничего не понимаю( Помогите,а то меня не аттестуют. и...

125
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.11.2019, 07:59
supmener, это тебе в джаву, там типизация строгая, не ошибешься. А чтобы наверняка избежать ошибок просто не нужно использовать утиную типизацию. Хотя, конечно, без видения всей задачи трудно сказать. Учи шаблоны проектирования.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
19.11.2019, 08:12  [ТС]
просто не нужно использовать утиную типизацию
А что надо использовать? Просто, что вместо утиной типизации может быть, не знаю.

Учи шаблоны проектирования
Чтобы их учить, надо найти учебный материал. Что именно подразумевается под нужными шаблонами проектирования?

Добавлено через 2 минуты
это тебе в джаву
То есть Python не подходит для точного выполнения алгоритмов?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
19.11.2019, 08:14
supmener, а толку от учебного материала, если ты ничего не читаешь? по твоим темам видно -адаешь все возможные вопросы, раскрытые в любой книге.Видимо политика -зачем читать-если можно на форуме 100 тем создать и так научиться?
Марк Лутц "Изучаем пайтон",потом книга ООП в пайтон любых авторов, после этого чтива перестанешь спрашивать про основы и типизации, будешь много знать и сам отвечать на форуме...
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.11.2019, 08:19
Цитата Сообщение от supmener Посмотреть сообщение
что вместо утиной типизации может быть, не знаю
Че тут знать то? Вместо утиной типизации - нормальная реализация интерфейсов.
Цитата Сообщение от supmener Посмотреть сообщение
Что именно подразумевается под нужными шаблонами проектирования?
Похоже, ты вообще о них не слышал?
Ресурс - https://refactoring.guru
Книги - HeadFirst "Паттерны проектирования", Р.Мартин Чистая архитектура. Потом можно и Фаулера.
Для начала хватит.

Добавлено через 2 минуты
Цитата Сообщение от supmener Посмотреть сообщение
То есть Python не подходит для точного выполнения алгоритмов?
Подходит. Только усилий побольше требует. Имхо
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
19.11.2019, 09:49
Цитата Сообщение от supmener Посмотреть сообщение
то как избежать ошибок, чтобы программа не приняла одни данные за другие?
Метод isinstance.

Шутка. Но в каждой шутке есть доля шутки, а всё остальное - правда. Ещё в 3-м питоне есть type hinting.

Отдельно - совет, не пишите похожие типы.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
19.11.2019, 09:55  [ТС]
Марк Лутц "Изучаем пайтон"
А по вашему мнению, эту книгу заменить другой литературой не хорошо?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
19.11.2019, 10:04
supmener, хорошо, если это хорошая литература и ее вдумчиво читать, прорешивая примеры. А не "я тут одну видяшку в ютубе посмотрел и так как читать не хочу, а основ не знаю, то вот вам вопрос ..."
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,242
19.11.2019, 10:05
supmener, а чем вы хотите заменить? форумом? В соответствующем разделе форума есть много ссылок на учебные материалы по python.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
19.11.2019, 10:11  [ТС]
Сообщение от supmener
Что именно подразумевается под нужными шаблонами проектирования?
iSmokeJC:
Похоже, ты вообще о них не слышал?
Ресурс - https://refactoring.guru
Книги - HeadFirst "Паттерны проектирования", Р.Мартин Чистая архитектура. Потом можно и Фаулера.
А это для изучающего Python подойдёт? Задаю такой вопрос, потому что Вы изначально посоветовали Java, слева у Вас иконка Java, а снизу у Вас написано про Java.
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,242
19.11.2019, 10:14
supmener, переходить к шаблонам проектирования стоит после того, как вы без примера сможете написать простое клиент-серверное приложение типа чата. Это сугубо моё мнение. До таких познаний в алгоритмах и навыках программирования, шаблоны вам будут слишком абстрактны.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.11.2019, 10:15
supmener, паттерны не зависят от языка. Это архитектурв программы.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
19.11.2019, 13:40  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
supmener, хорошо, если это хорошая литература и ее вдумчиво читать, прорешивая примеры. А не "я тут одну видяшку в ютубе посмотрел и так как читать не хочу, а основ не знаю, то вот вам вопрос ..."
Дело в том, что просмотрел не одно видео, а многие из тех, что смог найти на тему "Инкапсуляция, наследование, полиморфизм". И слышал мнение, что написано в этой книге, которую Вы советуете, отличается от того, что имелось в виду при изобретении ООП.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
20.11.2019, 16:06  [ТС]
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
supmener, переходить к шаблонам проектирования стоит после того, как вы без примера сможете написать простое клиент-серверное приложение типа чата. Это сугубо моё мнение. До таких познаний в алгоритмах и навыках программирования, шаблоны вам будут слишком абстрактны.
А если хочу для начала научиться писать десктопные программы?
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,242
20.11.2019, 17:06
supmener, Напишите десктопный клиент с десктопным сервером.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
20.11.2019, 17:34  [ТС]
Все правильные программисты на Python сначала пишут клиент с сервером, а до этого их код работает по принципам утиной типизации (или не понятно какой, не стандартизированной типизации)?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.11.2019, 08:55
Ну... я когда переходил с явы/си++ на питон, то тупо лепил на каждом шагу ассерты:

Python
1
2
a = 5
assert isinstance(a, int)
Добавлено через 31 минуту
Потом, конечно, отпустило.

Но именно по этой причине я недолюбливаю аннотации типов в третьем питоне - аннотации есть, но в runtime они ничего не дают.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
23.11.2019, 10:18  [ТС]
То есть остаётся такой вариант?
Ещё в 3-м питоне есть type hinting
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.11.2019, 10:22
Он работает не так, как вы думаете

Python
1
2
3
4
5
6
7
>>> def f(arg:int) -> int:
...    return arg
... 
>>> f(42)
42
>>> f('42')
'42'
Добавлено через 1 минуту
Возьмите другой язык, яву там…
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
23.11.2019, 10:24  [ТС]
Только ява вместо питона подойдёт для таких целей или есть ещё варианты?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2019, 10:24
Помогаю со студенческими работами здесь

вопрос жизни и смерти!!
Помогите с заданиями, мне очень срочно нужно!!! я боюсь меня выгонят из универа((((( ПОЖАЛУЙСТА ПРОШУ ВАС ПОМОГИТЕ!!(((( я написал...

Вопрос жизни и смерти
Дали задание в универе. В Delphi разбираюсь не очень. Прошу помощи как можно скорее. Задать любым изместным пользователю способом...

Вопрос жизни и смерти..
Парни помогите кто хорошо знает С++ просто если я к понидельнику не сдам ету програму мне прийдет писец... Вот собственно задание: ...

Файлы.(Вопрос жизни и смерти)
Создать файл, где каждой компонентой будет массив из N чисел. Определить минимальное значение в каждой компоненте, записав их в другой...

СРОЧНО!!! вопрос жизни и смерти !
ПОМОГИТЕ ПОЖАЛУЙСТА РЕШИТЬ ЗАДАЧУ. Задача Считать из текстового файла информацию в массив строк.Отобразить на экран.Удалить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru