|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
Python без goto. Как жить (выжить)03.03.2024, 15:39. Показов 1985. Ответов 37
Метки нет (Все метки)
Всю свою инженерную жизнь, начиная с Алгола, Фортрана, PL1, Паскаля, Ассемблера, С/C++ и C#, программировал компьютеры и микроконтроллеры с оператором goto, и он мне не мешал. В Python его нет, что создает мне неудобства при ветвлениях в алгоритмах. Подскажите, где почитать и научиться программированию в Python без goto, или найти ему замену.
Слышал как-то, что в коды интерпретатора Python можно вставлять фрагменты кодов из компилятора C/C++. Это поможет? Python мне нравится, особенно в связке с библиотеками от Qt5.
0
|
|
| 03.03.2024, 15:39 | |
|
Ответы с готовыми решениями:
37
Можно ли выжить без C++/CLI? Модем без функции DDNS - как жить |
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 15:04 [ТС] | |
|
idealist, я слышал, что основном апологетом отказа от goto является Дейкстра. Мы используем в своих программах его алгоритм нахождения кратчайшего или оптимального маршрута на электронных картах среди множества возможных, здесь все работает отлично. Считаю все же, что goto он мог бы и не уничтожать. Да ладно, сейчас моя задача, подстроиться к новой реальности в Python без goto, а это пока не легко. Буду еще разбираться.
YuS_2, Вы пишите: "Но тут Рыжий Лис, полностью прав, это даже не просто плохая практика, а очень плохая , т.к. получаем на выходе слишком грязные функции и методы...Это просто демонстрация отсутствия жизненной необходимости в инструкции GOTO, даже для гипотетических случаев..." Тогда, какая практика в Python считается хорошей. При том, что я уже согласился решать в Python подобные ветвления данным методом, и не вижу пока других.
0
|
|
|
Любознательный
7406 / 2260 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||
| 05.03.2024, 15:57 | |||
|
Добавлено через 43 секунды
0
|
|||
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 16:01 [ТС] | |
|
Рыжий Лис Согласен. Спасибо, Ваши подсказки еще будут полезны. Я получил ответы на большую часть своих вопросов.
YuS_2, Вам тоже спасибо, все советы дельные. Книгу скачаю.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 05.03.2024, 18:51 | |
|
Рыжий Лис, в люа гото есть.
0
|
|
|
|
||
| 05.03.2024, 23:19 | ||
|
Сейчас посмотрел, оказывается, в C# тоже есть гото. Честно скажу, не ожидал.
Ответ простой, с гото код становится бесструктурной лапшой, в которой хрен разберёшься. Вам он не мешает, а вот тот, кто этот код будет читать, потом вас проклянёт и будет абсолютно прав.
2
|
||
|
Супер-модератор
|
||
| 06.03.2024, 11:08 | ||
|
Борьба с GoTo вполне органично смотрелась лет 50-60 назад. А сейчас - это эпигонство и докринёрство.
0
|
||
|
|
|||||
| 06.03.2024, 11:54 | |||||
|
0
|
|||||
|
Просто Лис
|
||
| 06.03.2024, 12:01 | ||
|
Но такой код большая редкость.
0
|
||
|
Супер-модератор
|
||||
| 06.03.2024, 19:20 | ||||
|
2
|
||||
|
|
|||
| 06.03.2024, 19:46 | |||
|
Кстати, Фортран-4, я посмотрел, вышел в 1957-м году. За 11 лет до классической статьи Дейкстры. Тогда goto был в порядке вещей. Эта библиотека, полагаю, тоже писалась где-то в те годы - прежде, чем выработались более безопасные подходы. Что "всё"-то? Вы отрицаете, что с goto очень просто запутать код? Ну отрицайте, пишите, как хотите.
0
|
|||
|
Супер-модератор
|
||
| 06.03.2024, 20:57 | ||
|
Сложность программы зависит от мышления программиста. Можно производить запутанный код и без использования GoTo. С другой стороны: что страшного, если на 5000 строк кода может встретиться пара GoTo? Мир от этого рухнет?
0
|
||
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||
| 06.03.2024, 21:37 | |||
|
"ФОРТРАН, инфантильное расстройство, которому уже почти 20 лет, безнадежно не подходит для любого компьютерного приложения, которое ты имеешь в виду сегодня: оно теперь слишком неуклюже, слишком рискованно и слишком дорого в использовании. " Т.е. это говорилось когда фортрану было 20 лет. А сейчас ему почти семьдесят!
1
|
|||
|
Супер-модератор
|
|||||||||||||
| 06.03.2024, 21:47 | |||||||||||||
|
idealist, Дейкстра, конечно, был человек авторитетный. Но Фортран (один из самых старых языков) жив и по сей день (несмотря на то, что Дейкстра его недолюбливал).
Вот два кода:
И в чём состоит "резкое понижение качества" у второго кода? ![]()
1
|
|||||||||||||
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||
| 06.03.2024, 22:25 | |||
|
0
|
|||
|
Модератор
|
|||||||
| 06.03.2024, 23:19 | |||||||
|
Кликните здесь для просмотра всего текста
0
|
|||||||
|
Просто Лис
|
|
| 07.03.2024, 05:54 | |
|
1
|
|
|
Супер-модератор
|
||||
| 07.03.2024, 08:37 | ||||
Что лишний раз подтверждает мою правоту: опасна не передача управления как таковая, а тупак-программист (его мышление представляет собой лапшу, которая, в свою очередь порождает код-лапшу). Но запрет GoTo бессилен против тупака - он и без GoTo напишет код, который не требует обфускации. ![]() Добавлено через 2 минуты Добавлено через 2 минуты
0
|
||||
| 07.03.2024, 08:37 | |
|
Помогаю со студенческими работами здесь
38
Повторение web запроса: как без goto? Как реализовать вычисление корня без goto?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|