|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
Python без goto. Как жить (выжить)03.03.2024, 15:39. Показов 2078. Ответов 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
|
|
|
Любознательный
7407 / 2260 / 361
Регистрация: 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 / 613
Регистрация: 21.11.2021
Сообщений: 3,706
|
|||
| 06.03.2024, 21:37 | |||
|
"ФОРТРАН, инфантильное расстройство, которому уже почти 20 лет, безнадежно не подходит для любого компьютерного приложения, которое ты имеешь в виду сегодня: оно теперь слишком неуклюже, слишком рискованно и слишком дорого в использовании. " Т.е. это говорилось когда фортрану было 20 лет. А сейчас ему почти семьдесят!
1
|
|||
|
Супер-модератор
|
|||||||||||||
| 06.03.2024, 21:47 | |||||||||||||
|
idealist, Дейкстра, конечно, был человек авторитетный. Но Фортран (один из самых старых языков) жив и по сей день (несмотря на то, что Дейкстра его недолюбливал).
Вот два кода:
И в чём состоит "резкое понижение качества" у второго кода? ![]()
1
|
|||||||||||||
|
3750 / 1944 / 613
Регистрация: 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 | |
|
Повторение web запроса: как без goto? Как реализовать вычисление корня без goto?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|