1074

Python и отступы

Python и отступы

Нечестно стырено с ВК

IT-юмор

7.4K пост53.2K подписчика

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
22
DELETED
Автор поста оценил этот комментарий

Разве отступы только в Python?

раскрыть ветку (49)
45
DELETED
Автор поста оценил этот комментарий
В каких языках ещё отступ может сломать программу? Любопытно.
раскрыть ветку (46)
12
Автор поста оценил этот комментарий

В смысле? Я в этой теме не шарю, но было бы любопытно посмотреть как такое вообще может происходить. Типа, блин, в pyton придумали блоки выделять не чем-то нормальным символьным и понятным вроде фигурных скобок, а решили положиться просто на отступы в текстовом редакторе и научили компилятор нормально понимать что до чего? Если так, то такой фокус можно с любым ЯП провернуть, хотя бы на уровне расстановки блоков согласно отступам перед компиляцией.

Правда, это из таких решений вроде как шасси от самолёта на него не ставить, а делать платформой на полосе, чтоб он на неё точно садился и катился потом - очень экономно и упрощает конструкцию самолёта, но надёжность страдает...

раскрыть ветку (11)
3
Автор поста оценил этот комментарий

Выглядит не очень - взял первый попавшийся браузерный редактор - но суть передаёт

Иллюстрация к комментарию
раскрыть ветку (8)
1
Автор поста оценил этот комментарий

Спасибо, теперь точно ясно, что дело именно в отказе от выделения блоков фигурными скобками. Ну, во всяком случае в pyton хотя бы нет споров о том, оставлять открывающую фигурную скобочку в конце строки или переносить на следующую. И это уже неплохо.

раскрыть ветку (7)
1
Автор поста оценил этот комментарий

да ну?)

Иллюстрация к комментарию
раскрыть ветку (4)
0
Автор поста оценил этот комментарий

Ахаха... Так в pyton та же петрушка есть, только не для фигурных скобочек? :)

Даёшь бой всяким скобочкам! Только отступы и пробелы! (и запятые)  :)

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Ну на самом деле в PEP прописано все. Сколько символов макс в строке, какой тип названия переменных используется и тп, сколько пробклов где, как переносить. В общем, есть куча всего, что не влияет на выполнение кода, но при этом будет не соответствовать правилам PEP. Например ты можешь спокойно использовать camelCase для переменных, но в PEP это не так прописано
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Запомню на случай, если меня основательно понесёт в нейросети и стану учить pyton, конечно. Но вообще snake_case, например, мне действительно нравится больше, хотя он мало где принят за правило для написания хоть чего-нибудь.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
snake_case - переменные, CamelCase - классы
Но опять же, это то что не влияет на код
1
DELETED
Автор поста оценил этот комментарий

А где есть такие споры? Есть же соглашения о кодстайле и типа о чем там можно спорить? Опять же таки код стайл в разных компаниях может отличаться, но там есть своё внутреннее соглашение следуя которому ты и будешь писать код. Там тоже спорить не о чем_)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Тут согласен - в компаниях такого нет и это вполне разумно и правильно. К тому же даже не обязательно писать код согласно кодстайлу компании изначально, ведь зачастую есть такая штука, как автоматический рестайл кода, так что вся заморочка в одном нажатии кнопки, чтобы сделать как себе удобно.

Но. Вот сидим я и Вася Пупкин, и что бы как-то поддержать беседу я говорю, что в блоках кода всенепременно надо ставить фигурную скобку на новой строке, ибо хоть это и занимает отдельную строку, однако ж визуально выделение блока становится более различимым, и что пока я даже ещё не начал называть все другие преимущества, миру пора бы уже это осознать, прийти наконец к единому кодстайлу  и закончить уже этот цирк... Ну, как бы понятно, что на уровне аргументированно попытаться доказать куда действительно объективно лучше ставить эту всратую скобочку, можно провести не один час разговоров.

0
DELETED
Автор поста оценил этот комментарий
Именно
0
Кастомный бейдж
Автор поста оценил этот комментарий

Нормальная поддержка отступов  - вынужденная мера в любом функциональном языке программирования (haskell и т.д.). Питон очень хорошо поддерживает функциональную парадигму, поэтому добавлять фигурные скобки и точки запятой - наоборот было бы лишней работой в данном случае, не очень для языка обоснованной.

16
Автор поста оценил этот комментарий

Fortran!

ох, сколько я намучился с ним раньше... Если программа берет тело subroutine из файла, то весь текст в файле должен иметь отступ. Понять и простить..

раскрыть ветку (17)
6
Автор поста оценил этот комментарий
А ещё нумерация, описание каждой переменной в каждом призыве и прочий ад
данила, 21 год, писал диплом на Фортране (перекожживал что было написано в 80х под нынешнюю задачу)
раскрыть ветку (16)
9
Автор поста оценил этот комментарий
данила, 21 год, писал диплом на Фортране

Запятая лишняя, я исправил:

данила, 21 год писал диплом на Фортране

4
Автор поста оценил этот комментарий
Мне страшно представить под какие задачи сейчас мог понадобиться фортран
раскрыть ветку (14)
19
Автор поста оценил этот комментарий
Математическое решение уравнения с 6 неизвестными (матрицы 6х6) с мнимой частью.
сама задача: рассчет спиновых волн с учётом магнитного момента (до этого не предполагалось что магнитное взаимодействие волн имеет место быть)
спойлер:
Теория приблизилась к практике с погрешностью 0.01%
раскрыть ветку (8)
8
Автор поста оценил этот комментарий

Подтверждаю. Фортран стал мощным средством для решения математических задач. У нас тяжелые матрицы при расчете теплогидравлических схем тоже на нем построены.

раскрыть ветку (7)
5
Автор поста оценил этот комментарий
Я тебе больше скажу
друг занимается нейросетями
и часть работы с матрицами у него выполнены на питоне а часть на Фортране
раскрыть ветку (4)
0
Автор поста оценил этот комментарий

Всё равно не понимаю - неужто он так адски компилирует мат. и матричные операции?

раскрыть ветку (3)
9
Автор поста оценил этот комментарий
И компилирует хорошо, и библиотек охулиард. Причём таких, в которых страшный говнокод с точки зрения проектирования и прочих код ревью, но охуенно быстрый.
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Т.е. дело не только в историческом наследии мегатонн написанных и отлаженных библиотек - но и в компиляторе .. любопытно, спасибо.
3
Автор поста оценил этот комментарий
Видимо, да
ну а в моем случае просто не было выбора. Или так или все с 0
уж проще ввод матрицы и условия вывода перебрать чем весь код заново
0
Автор поста оценил этот комментарий
А какой стандарт, если не секрет? А то мы аж на 77 писали
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну, наши корифеи начинали в 90ых писать на фортран 66, вплоть до 2011 года ходила папка с компилятором CVF67.  Сейчас медленно переползаем на купленный Intel Fortran 2015. Так понимаю, это стандарт 15.

4
Автор поста оценил этот комментарий
Математика. Там такую огромную кодовую базу собрали, что переводить её на очередную новомодную заебумбу нет н сио, ни средств.
ЦЕРНовские библиотеки, вродею энтузиасты на плюсы переводили, но насколько оно там продвинулось и чем закончилось - не знаю, ушёл из отрасли.
4
Автор поста оценил этот комментарий
Последняя версия языка Fortran 2018 (ранее известная как Fortran 2015) была выпущена 28 ноября 2018 года.

Можно еще тут https://habr.com/ru/post/400523/ почитать.

раскрыть ветку (3)
3
Автор поста оценил этот комментарий
О_о.
0
Автор поста оценил этот комментарий

Чёт даже интересно стало. Он же охуеть какой древний...

Интересно сколько разрабам платят

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Сколько платят - не знаю.

Это было ближе к концу прошлого века :)

16
Автор поста оценил этот комментарий

Ну YAML отступы использует. Например.

Идея как бэ не нова.

раскрыть ветку (2)
3
DELETED
Автор поста оценил этот комментарий

Но это же не ЯП

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Но к херам из-за отступов всё посыпется.

5
Автор поста оценил этот комментарий

в SASS

Иллюстрация к комментарию
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Stylus же
5
DELETED
Автор поста оценил этот комментарий

Я кроме Python ничего не знаю. Это был вопрос ради вопроса, а не вопрос ради возражения (не подумал, что и так можно понять)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

> Это был вопрос ради вопроса

Вопрос ради вопроса это "А можно спросить?" (:

А вы задали вопрос ради информации)

1
Автор поста оценил этот комментарий

В любом функциональном? Haskell, F#, OCaml

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
В F# используются отступы, но насколько я знаю, с этим там менее строго.
1
Автор поста оценил этот комментарий

в шаблонизаторе pug

1
DELETED
Автор поста оценил этот комментарий

yaml? Это не язык, но средство маркации. И да, оно ломает ввсе к херам, если без отступов

0
Автор поста оценил этот комментарий
Haskel
И вроде бы F#
0
Фанат Тёмы Лебедева
Автор поста оценил этот комментарий

SASS. Не язык, препроцессор, но тем не менее. 

+ ряд синтаксических сахаров.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
+ ряд синтаксических сахаров.

что?

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Плюшки и конструкций языка, которые упрощают какие-то аспекты написания кода. Обычно введением новой фичи конструкции языка/ключевого слова, которые заменяют много старого кода, упрощая написание. 

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Блять, я в курсе, что такое сахар


Я спрашивал, что имел в виду предыдущий комментатор, отвечая на вопрос:

В каких языках ещё отступ может сломать программу? Любопытно.
Что в "ряде сахаров" отступ может что-то сломать?
Или что SASS - это препроцессор с "рядом сахаров".

В целом звучит странно коммент

3
DELETED
Автор поста оценил этот комментарий

В других ЯП отступы нужны для человека, компилятору же на них плевать, хоть в одну строку пиши весь код.

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Спасибо! Я видел отступы в других языках, но теперь понятно, что они не нужны компилятору

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества