Питон и выравнивание...
От: кубик  
Дата: 20.11.20 05:43
Оценка: +3 -1 :))) :))) :))) :))) :)
Друзья,
Вы наверно слышите кругом всё говорят Питоон Питооон.
А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?
Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"
Это аструеть ...
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 13:14
Оценка: -6
Здравствуйте, Bill Baklushi, Вы писали:

BB>>>А если набрать в питоновой консоли набрать просто exit, питон скажет — "я вас понял. не хочу. попросите вежливо и синтаксически корректно".

N>>Нормальные юниксоеды знают про Ctrl+D с виртуальных пелёнок
N>>А кто не может такое нажать, а хочет набирать exit... ipython умеет такое и ещё тонны плюшек, так что пусть идёт на ipython вместо стандартного шелла.

BB>Мой коммент не об этом. А о том, что очевидные конструкции запрещены.


Очевидная конструкция это Ctrl+D. Как для любого интерактивного шелла.
Но таки для таких любителей ХЗ чего в ipython привернули костыль.

BB>Запрещены ради манерного кривляния. Т.к. каких либо концепций в питоне нет, есть гора помоев.


Гора помоев — в твоей голове, то есть в твоём представлении о нём. Ты даже не пытаешься понять, что и почему там сделано, и пропускаешь самые серьёзные проблемы питона, вцепляясь в сущие мелочи.
The God is real, unless declared integer.
Отредактировано 21.11.2020 14:45 netch80 . Предыдущая версия .
Re: Питон и выравнивание...
От: Homunculus Россия  
Дата: 20.11.20 05:55
Оценка: +3 :))
Здравствуйте, кубик, Вы писали:

Это отсеивает «непосвященных» от МАГИИ. Смотрит непосвященный на два одинаковых текста и не врубается, почему один запускается, а другой — нет. И тут в дело вступает МАГИЯ ПУСТОТЫ, ЭНЕРГИЯ ВАКУУМА, КОЛИЧЕСТВО ПРОБЕЛОВ.
Re: Питон и выравнивание...
От: elmal  
Дата: 20.11.20 08:07
Оценка: +1 -4
Здравствуйте, кубик, Вы писали:

К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:
                                      for (i in 1..10)
       {
                    if (a>5)
       {
    printf("h")
            printf("e")
       printf("l")
printf("l")
             printf("o")
            }
              }


Очень хорошо, что есть хотя бы один язык, в котором ни одна сволочь физически не сможет вот такое сделать, и ни одна сволочь не сможет запретить такой капец исправлять!

PS еще б на уровне языка ограничить бы длину вложенности отступов хотя бы до 6 (а то некоторые таланты и 50 хреначат), а длину функции хотя бы 500 строчками (а то некоторые орлы все пишут в main на 20 000 строк и без форматирования), вообще бы цены такому языку не было. К сожалению python от такого не спасает.
Re: Питон и выравнивание...
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 20.11.20 06:34
Оценка: :))) :)
Здравствуйте, кубик, Вы писали:

К>Это аструеть ...


Жалеешь, что на нём не написать такое?
Re[3]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 20.11.20 17:10
Оценка: 1 (1) +1
Здравствуйте, netch80, Вы писали:


N>В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)


https://www.jetbrains.com/help/pycharm/navigation-in-source-code.html

Navigate to Opening Brace — Ctrl+[ (срабатывает только если курсор стоит в начале строки, не знаю почему)
Navigate to Closing Brace — Ctrl+]
Best regards, Буравчик
Re: Питон и выравнивание...
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.20 06:35
Оценка: +2
Здравствуйте, кубик, Вы писали:

К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"

К>Это аструеть ...

Ну, с пробуждением тебя!
Re: Питон и выравнивание...
От: Kolesiki  
Дата: 20.11.20 06:48
Оценка: +1 -1
Здравствуйте, кубик, Вы писали:

К>Это аструеть ...


Ну так а мы про что! Ещё с самой первой заметки про Пестон я был в таком же аструевшем состоянии Как можно в 21 веке делать синтаксис на отступах?! Это ж вам не 70-ые, когда безумные идеи воплощал каждый школотрон!
И "заимствование кода" (особенно из ЧАСТИЧНЫХ конструкций) — попробуй скопипасти пару кусков из браузера — сдохнешь восстанавливавши! Этот пестон — мракобесие и видимо, индикатор тех, кого пора лечить.
Re[2]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 08:16
Оценка: +2
Здравствуйте, Pzz, Вы писали:

К>>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"

К>>Это аструеть ...

Pzz>Ну, с пробуждением тебя!


Скорее с разморозкой. Это ж сколько надо было спать, и не заметить ещё десяток языков с похожими свойствами...
The God is real, unless declared integer.
Re[2]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 12:10
Оценка: +2
Здравствуйте, Bill Baklushi, Вы писали:

К>>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

К>>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"

BB>А если набрать в питоновой консоли набрать просто exit, питон скажет — "я вас понял. не хочу. попросите вежливо и синтаксически корректно".


Нормальные юниксоеды знают про Ctrl+D с виртуальных пелёнок
А кто не может такое нажать, а хочет набирать exit... ipython умеет такое и ещё тонны плюшек, так что пусть идёт на ipython вместо стандартного шелла.
The God is real, unless declared integer.
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.11.20 08:47
Оценка: +2
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, кубик, Вы писали:


К>>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.

Ты смешиваешь разные вещи: 1) сама необходимость порядка (на разных уровнях), 2) договорённость о нём и 3) согласованность и разрешение усилий по его наведению.

Фактически, насколько можно понять по твоему рассказу, внутренних норм вообще не было. И тут приходишь ты и начинаешь их устанавливать. В истории появляется изменение непонятно зачем... и что?

По-нормальному это делается так:

1. Добивается общего согласия (хотя бы устного) про "так жить нельзя (плохо), надо навести порядок". Сильно может помочь наблюдение ситуации типа — функцию foo() Вася правил и переформатировал под себя, Петя пришёл и переформатировал под себя, Вася снова пришёл и переформатировал обратно — в результате в истории бардак, диффы нечитаемы.
2. Делается прикидка варианта правильного порядка. Лучше на основании какой-то автотулзы — тогда избавление от ручного контроля перевешивает для большинства проблему подчинения того, что им в чём-то не нравится. Обычно, кто опытнее, легче терпит — и больше насмотрелся разного, и понимает цену экономии усилий. Можно обсудить тонкие настройки.
3. Делается проба (лучше в отдельной ветке), всё переформатируется, просматривается результат на предмет явных ляпов. Если нужно, настройки корректируются и проба повторяется.
4. Результат закрепляется административно ("всем прогонять через форматтер") и желательно технически (commit hook + контроль в CI).

причём обычно каждый шаг надо делать в 3-4 захода (на первом тебя только слышат, на втором кто-то задумывается, на третьем реагирует большинство). Хотя, если ты техлид, можешь просто настоять от себя (но лучше тоже плавно).

И:
1. Это касается не только форматирования и отступов: могут быть сотни других особенностей (стиль именования, выделение всяких геттеров, вплоть до архитектурных решений типа кто к кому обращается и как идёт поток данных... только их уже сложно автоматизировать).
2. Дело не в Python, Go или ком ещё: на каждом из них можно натворить тонны безобразий. Python контролирует, чтобы во всём блоке была одинаковая последовательность пробелов и табуляций в качестве отступов (Py3 — жёстко, Py2 — чуть свободнее), но, например, ему плевать на собственно количество отступов на блок (1, 2, 7, 19 — пофиг), на длину отступа на каждом явном продолжении строки (лишь бы не меньше начала строки), на пробелы потом ("a,b", "a, b", "a, b" — ему одинаково). Линтеры и форматтеры можно обучить контролю и исправлению, но это таки за пределами требований языка, а анноить они могут не меньше.
The God is real, unless declared integer.
Re: Питон и выравнивание...
От: cthsq  
Дата: 20.11.20 06:07
Оценка: +1
Здравствуйте, кубик, Вы писали:
Re[2]: Питон и выравнивание...
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.20 06:39
Оценка: :)
Здравствуйте, Homunculus, Вы писали:

H>Это отсеивает «непосвященных» от МАГИИ. Смотрит непосвященный на два одинаковых текста и не врубается, почему один запускается, а другой — нет. И тут в дело вступает МАГИЯ ПУСТОТЫ, ЭНЕРГИЯ ВАКУУМА, КОЛИЧЕСТВО ПРОБЕЛОВ.


qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ
Re[4]: Питон и выравнивание...
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.11.20 08:13
Оценка: :)
Здравствуйте, Homunculus, Вы писали:

Pzz>>qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ


H>Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе


Можно голову крутить, а не монитор. Это даже полезно для шеи.
Re[3]: Питон и выравнивание...
От: Michael7 Россия  
Дата: 20.11.20 08:25
Оценка: +1
Здравствуйте, netch80, Вы писали:


N>Скорее с разморозкой. Это ж сколько надо было спать, и не заметить ещё десяток языков с похожими свойствами...


Из широко распространенных кроме питона даже не припомню еще. Не считать же за такие свойства старый перфокарточный Фортран.
Re[2]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 08:37
Оценка: +1
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, кубик, Вы писали:


К>>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:

Я на самом деле после вот уже 16 лет почти непрерывной работы с Питоном не уверен, что это так уж хорошо, но не из-за выравнивания как такового, а из-за того, что сложно отловить по точке закрытия нескольких блоков сразу — где они начинаются.
В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)

И когда код вида

    if x:
        while y:
            for z in zzz:
                if abc123 + zyx456 < qwer789:
                    ... что-то происходит ...
    else:


тут (перед else в примере) ты не знаешь, что было, как и почему — может, ты досматривал, что было в for z?
Против этого два средства:
1. Не создавать код размером больше экрана. Часто действует, но не всегда — у меня есть такие случаи, когда если по всем правилам Мартина сделать, то будет замедление в 10-100 раз, не могу себе позволить. Неизбежно получаются монстры на пятьсот строк.
2. В конце каждого такого блока писать свои пометки, типа:

    if x:
        while y:
            for z in zzz:
                if abc123 + zyx456 < qwer789:
                    ... что-то происходит ...
                #end if
            #end for
        #end while
    else:


но их ещё расставить надо и согласовать с командой. Ну и какое-то средство для быстрого перехода (в vim есть indentwise, очень вкусно).

E>PS еще б на уровне языка ограничить бы длину вложенности отступов хотя бы до 6 (а то некоторые таланты и 50 хреначат), а длину функции хотя бы 500 строчками (а то некоторые орлы все пишут в main на 20 000 строк и без форматирования), вообще бы цены такому языку не было. К сожалению python от такого не спасает.


Тут интересен подход Go — общий стиль форматирования не обязателен, но наличие одной универсальной тулзы в коробке и одного стиля на неё нормирует хотя бы публичный код (а не 100500 стилей, как в C).
The God is real, unless declared integer.
Re: Питон и выравнивание...
От: Bill Baklushi СССР  
Дата: 20.11.20 10:09
Оценка: :)
кубик:

К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"

А если набрать в питоновой консоли набрать просто exit, питон скажет — "я вас понял. не хочу. попросите вежливо и синтаксически корректно".
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[3]: Питон и выравнивание...
От: Bill Baklushi СССР  
Дата: 20.11.20 12:38
Оценка: -1
netch80:

BB>>А если набрать в питоновой консоли набрать просто exit, питон скажет — "я вас понял. не хочу. попросите вежливо и синтаксически корректно".

N>Нормальные юниксоеды знают про Ctrl+D с виртуальных пелёнок
N>А кто не может такое нажать, а хочет набирать exit... ipython умеет такое и ещё тонны плюшек, так что пусть идёт на ipython вместо стандартного шелла.

Мой коммент не об этом. А о том, что очевидные конструкции запрещены.
Запрещены ради манерного кривляния. Т.к. каких либо концепций в питоне нет, есть гора помоев.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[2]: Питон и выравнивание...
От: ути-пути Россия  
Дата: 20.11.20 15:16
Оценка: +1
Здравствуйте, Ватакуси, Вы писали:

В>Если не писать в блокноте, то это за тебя делает ИДЕ. Так что не вижу проблемы.


Только вот просто так вставить код не из проекта, а, например, с сайта, не всегда получится.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Питон и выравнивание...
От: Cyberax Марс  
Дата: 20.11.20 20:23
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

K>И "заимствование кода" (особенно из ЧАСТИЧНЫХ конструкций) — попробуй скопипасти пару кусков из браузера — сдохнешь восстанавливавши!

Хм! А ведь неплохая фича, на самом деле!
Sapienti sat!
Re: Питон и выравнивание...
От: fmiracle  
Дата: 20.11.20 06:17
Оценка:
Здравствуйте, кубик, Вы писали:

К>Это аструеть ...


Это дзен. Надо правильно увидеть и осмыслить пустоту...
Re[3]: Питон и выравнивание...
От: Homunculus Россия  
Дата: 20.11.20 06:46
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ


Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе
Re: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 08:20
Оценка:
Здравствуйте, кубик, Вы писали:

К>Друзья,

К>Вы наверно слышите кругом всё говорят Питоон Питооон.
К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?
К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"
К>Это аструеть ...

А ещё есть Haskell, представляешь, в нём то же самое. И ещё десяток похожих языков. А ещё есть YAML.
А ещё есть, о ужас, email, HTTP, SIP, в которых продолжение поля заголовка требует пробелов отступа.
А ещё всякие Markdown (ты документацию к коду совсем не пишешь?)

Мы не виноваты, что ты уснул где-то в 1997-м и только сейчас проснулся, но зачем всех остальных пугать своими личными привидениями?

(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)
The God is real, unless declared integer.
Re[2]: Питон и выравнивание...
От: Michael7 Россия  
Дата: 20.11.20 08:26
Оценка:
Здравствуйте, elmal, Вы писали:

E>Очень хорошо, что есть хотя бы один язык, в котором ни одна сволочь физически не сможет вот такое сделать, и ни одна сволочь не сможет запретить такой капец исправлять!


Да ладно, не сможет. Препроцессор что ли долго соорудить?

E>PS еще б на уровне языка ограничить бы длину вложенности отступов хотя бы до 6 (а то некоторые таланты и 50 хреначат), а длину функции хотя бы 500 строчками (а то некоторые орлы все пишут в main на 20 000 строк и без форматирования), вообще бы цены такому языку не было. К сожалению python от такого не спасает.


Иногда такие вещи результат автоматической генерации.
Re: Питон и выравнивание...
От: Firstborn Латвия  
Дата: 20.11.20 08:28
Оценка:
Здравствуйте, кубик, Вы писали:

К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?


Да.
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 08:29
Оценка:
Здравствуйте, Michael7, Вы писали:

N>>Скорее с разморозкой. Это ж сколько надо было спать, и не заметить ещё десяток языков с похожими свойствами...


M>Из широко распространенных кроме питона даже не припомню еще. Не считать же за такие свойства старый перфокарточный Фортран.


Фортран я уже упомянул рядом, да. Ну ещё есть пачка форматов данных (как заголовок HTTP).
Хотя там проще — там требуется (или запрещается) минимум один пробел или табуляция, а не точный их набор.
The God is real, unless declared integer.
Re[5]: Питон и выравнивание...
От: Michael7 Россия  
Дата: 20.11.20 08:35
Оценка:
Здравствуйте, netch80, Вы писали:


N>Фортран я уже упомянул рядом, да. Ну ещё есть пачка форматов данных (как заголовок HTTP).

N>Хотя там проще — там требуется (или запрещается) минимум один пробел или табуляция, а не точный их набор.

Ты еще в другом сообщении напомнил про Haskell, я о нем как-то не вспомнил, когда писал. Правда можно ли его считать широко распространенным — вопрос. Но в нем емнип и не так все же жестко как в питоне.
Отредактировано 20.11.2020 8:36 Michael7 . Предыдущая версия .
Re[3]: Питон и выравнивание...
От: elmal  
Дата: 20.11.20 08:45
Оценка:
Здравствуйте, netch80, Вы писали:

N>В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)

Пожалуйся, кстати, точнее заведи feature request. Я как то захотел одну фичу, сообщил разработчикам — очень оперативно сделали.
Re[4]: Питон и выравнивание...
От: Mr.Delphist  
Дата: 20.11.20 08:49
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, netch80, Вы писали:



N>>Скорее с разморозкой. Это ж сколько надо было спать, и не заметить ещё десяток языков с похожими свойствами...


M>Из широко распространенных кроме питона даже не припомню еще. Не считать же за такие свойства старый перфокарточный Фортран.


Помню, у меня CGI-скрипт на perl не работал. Хелло-ворлд предельно сложен по сравнению с этим скриптом. По букве сверили — у друга работает, у меня нет. Оказалось, там CR/LF как окончание строки — а ожидался UNIX-подход (LF only).
Re[3]: Питон и выравнивание...
От: Skorodum Россия  
Дата: 20.11.20 08:58
Оценка:
Здравствуйте, netch80, Вы писали:

N>Тут интересен подход Go — общий стиль форматирования не обязателен, но наличие одной универсальной тулзы в коробке и одного стиля на неё нормирует хотя бы публичный код (а не 100500 стилей, как в C).

ClangFormat же почти универсальная тулза из коробоки для мира С/C++, со стандартами хуже, но boost и Qt стили вполне хорошо документированы и стандартизированны.
Re[4]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 20.11.20 09:02
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Из широко распространенных кроме питона даже не припомню еще. Не считать же за такие свойства старый перфокарточный Фортран.


Из достаточно распространненных:
языки разметки — YAML, makefile, markdown, scss
языки программирования — haskell, например
Best regards, Буравчик
Re[2]: Питон и выравнивание...
От: klopodav  
Дата: 20.11.20 10:02
Оценка:
K>Как можно в 21 веке делать синтаксис на отступах?! Это ж вам не 70-ые, когда безумные идеи воплощал каждый школотрон!

Ну так сейчас у каждого школотрона еще и гораздо больше возможностей воплощать безумные идеи, разве нет?
Re: Питон и выравнивание...
От: Ватакуси Россия  
Дата: 20.11.20 10:28
Оценка:
К>Вы наверно слышите кругом всё говорят Питоон Питооон.
К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?
К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"
К>Это аструеть ...

Если не писать в блокноте, то это за тебя делает ИДЕ. Так что не вижу проблемы.
Иногда трудно понять что и где, если кода на много простыней. Но это зло в принципе.
Все будет Украина!
Re[4]: Питон и выравнивание...
От: ути-пути Россия  
Дата: 20.11.20 14:46
Оценка:
Здравствуйте, Homunculus, Вы писали:

H>Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе


Телефон, сцуко, переворачивает.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[5]: Питон и выравнивание...
От: ути-пути Россия  
Дата: 20.11.20 14:51
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>scss


Что не так? Это sass пробельный, но им мало пользуются.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: Питон и выравнивание...
От: ути-пути Россия  
Дата: 20.11.20 15:07
Оценка:
Здравствуйте, netch80, Вы писали:

N>В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)


Поищи опцию show indent guides
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: Питон и выравнивание...
От: Ватакуси Россия  
Дата: 20.11.20 16:12
Оценка:
В>>Если не писать в блокноте, то это за тебя делает ИДЕ. Так что не вижу проблемы.

УП>Только вот просто так вставить код не из проекта, а, например, с сайта, не всегда получится.


Eclipse + pyDev: SHIFT+INS, TAB, TAB, TAB
Все будет Украина!
Отредактировано 20.11.2020 16:13 Ватакуси . Предыдущая версия .
Re[6]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 20.11.20 16:33
Оценка:
Здравствуйте, ути-пути, Вы писали:

УП>Что не так? Это sass пробельный, но им мало пользуются.


Не знаю, что не так. Я не против отступов. Не важно где, scss, sass или питон

P.S. sass и scss — возможно и напутал
Best regards, Буравчик
Re[2]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 20.11.20 16:41
Оценка:
Здравствуйте, Bill Baklushi, Вы писали:

BB>А если набрать в питоновой консоли набрать просто exit, питон скажет — "я вас понял. не хочу. попросите вежливо и синтаксически корректно".


Потому что, все, что ты вводишь в REPL — это часть программы (скрипта). Выполняется эта программа по мере ввода новых строк.
exit — не валидная строка в скрипте. Поэтому питон подсказывает начинающим питон-программерам, как правильно писать строку программы.

В целом, действительно, раздражает. Но не ужас, ужас.
Best regards, Буравчик
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 16:49
Оценка:
Здравствуйте, ути-пути, Вы писали:

N>>В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)


УП>Поищи опцию show indent guides


Вручную трекать по этим полоскам, вместо нормального быстрого перехода? Если у тебя лишнее время, вперёд. Я же просил нормальную реализацию.
The God is real, unless declared integer.
Re[3]: Питон и выравнивание...
От: Bill Baklushi СССР  
Дата: 20.11.20 17:19
Оценка:
ути-пути:

В>>Если не писать в блокноте, то это за тебя делает ИДЕ. Так что не вижу проблемы.

УП>Только вот просто так вставить код не из проекта, а, например, с сайта, не всегда получится.

Кстати да. Копипаста на нормальных языках работает "из коробки" с любым уродским оформлением.
Питоновую копипасту нужно вручную переформатировать, а часто и переотлаживать (т.к. из-за лишних/недостающих пробелов неизбежно появятся баги).
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 19:04
Оценка:
Здравствуйте, Буравчик, Вы писали:

N>>В случае {} или begin end перейти на противоположную легко в нормальном редакторе (vim — %, Jetbrains IDE — Ctrl+Shift+M, и так далее). А тут сразу начинается выбор, куда переходить — а подсказок не дают (пожаловаться что ли в Jetbrains?)


Б>https://www.jetbrains.com/help/pycharm/navigation-in-source-code.html


Б>Navigate to Opening Brace — Ctrl+[ (срабатывает только если курсор стоит в начале строки, не знаю почему)

Б>Navigate to Closing Brace — Ctrl+]

У меня сейчас PyCharm community 2020.2. Ограничением началом строки нет, а так — похоже: если эта строка — последняя сразу в нескольких блоках разной уровневости, переводит по Ctrl+[ на if/for/etc. самого внутреннего блока, с неё — более внешнего, и так далее.
Ctrl+] переводит, если стоим на блоковом операторе, на последнюю строку тела этого блока.
Ну, в качестве достаточной (хоть и не точной) замены моей хотелке подходит: можно поперебирать позиции, пока не дойдёшь до нужной... ok, пусть так будет.
(Видимо, не было, когда пробовал в прошлый раз, или не решил из-за слова brace, что оно работает и для Питона.)
The God is real, unless declared integer.
Re[2]: Питон и выравнивание...
От: Privalov  
Дата: 20.11.20 20:46
Оценка:
Здравствуйте, netch80, Вы писали:

N>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)


А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.
Re[3]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 20:51
Оценка:
Здравствуйте, Privalov, Вы писали:

N>>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)


P>А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.


Ну недопиши пару пробелов в начале, будет интересный эффект
The God is real, unless declared integer.
Re[2]: Питон и выравнивание...
От: кубик  
Дата: 21.11.20 01:14
Оценка:
Здравствуйте, elmal, Вы писали:

E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:


elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F
А в питоне, я так понимаю, какой отступ ты сделал в такой блок код и попал. От этого зависит логика.
Re[3]: Питон и выравнивание...
От: elmal  
Дата: 21.11.20 06:04
Оценка:
Здравствуйте, кубик, Вы писали:

К>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.
Re[4]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 21.11.20 07:22
Оценка:
Здравствуйте, elmal, Вы писали:

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.


Потому что стиль кодирования устанавливается для всей команды.
Это вопрос договоренностей и компромисов.

А не "используйте стиль, который мне удобно".
Best regards, Буравчик
Re[4]: Питон и выравнивание...
От: Privalov  
Дата: 21.11.20 09:53
Оценка:
Здравствуйте, netch80, Вы писали:

N>Ну недопиши пару пробелов в начале, будет интересный эффект


Этим нас не напугаешь. Мы в свое время учили, как не надо писать на Фортране. Поэтому позиции отсчитывали на автомате. Позже я вообще пробелы начал вставлять везде, где они, по идее, не нужны. Например, в конструкции IF (A .EQ. B) GO TO 10 большую часть пробелов (если не вообще все, не помню) можно убрать. Я, скорее, со свободным форматом накосячу. Никогда его не использовал.
Re[4]: Питон и выравнивание...
От: Ночной Смотрящий Россия  
Дата: 21.11.20 14:36
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Из широко распространенных кроме питона даже не припомню еще.


Ямль, будь он неладен и море всякой фигни на его базе.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Питон и выравнивание...
От: Ночной Смотрящий Россия  
Дата: 21.11.20 14:36
Оценка:
Здравствуйте, elmal, Вы писали:

К>>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли.

И при чем тут язык? Идиоты и на Петоне могут наворотить такого, что мало не покажется.

E>Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.


VB (старый, додотнетный) — твой идеал, там даже редактор не даст с отступами накосячить.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Питон и выравнивание...
От: Sheridan Россия  
Дата: 07.12.20 04:41
Оценка:
Здравствуйте, Homunculus, Вы писали:

Pzz>>qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ

H>Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе

¿ɯɔʞǝɯ ņоʞɐɯ qɯɐɯиҺоdu ɐwǝvƍоdu wǝҺ ʚ ɐ
Matrix has you...
Re: Питон и выравнивание...
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 07.12.20 09:07
Оценка:
Здравствуйте, кубик, Вы писали:

К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?


Конечно.
Сейчас пытаюсь вспомнить, в каком году я последний раз вообще вживую видел "табы".
С уважением, Artem Korneev.
Re: Питон и выравнивание...
От: Vladek Россия Github
Дата: 09.12.20 12:58
Оценка:
Здравствуйте, кубик, Вы писали:

К>Друзья,

К>Вы наверно слышите кругом всё говорят Питоон Питооон.
К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?
К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"
К>Это аструеть ...

Ваааще! Спасибо, что предупредил! Аж пот холодный прошиб...
Re[2]: Питон и выравнивание...
От: Тёмчик Австралия жж
Дата: 09.12.20 21:11
Оценка:
Здравствуйте, elmal, Вы писали:

К>>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:
E>
E>                                      for (i in 1..10)
E>       {
E>                    if (a>5)
E>       {
E>    printf("h")
E>            printf("e")
E>       printf("l")
E>printf("l")
E>             printf("o")
E>            }
E>              }
E>


Можно настроить lint.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.