Найти - Пользователи
Полная версия: Не ясен синтаксис Python
Начало » Python для новичков » Не ясен синтаксис Python
1
zino700
Уважаемые коллеги! Не могу решить изучать этот язык или нет, хотя предварительно многое привлекает! Проблема в том, что как я понял, в языке не предусмотрено завершение цикла ничем ни end ни ; (а все определяется отступом). Тогда не ясно, если в программе сложная структура циклов (и присутствуют во множестве вложенные циклы) и начало цикла на одной странице видимого текста программы, а я уже например на третьей странице. Мне что целится для начала очередного вложенного цикла табуляцией, и листать сначала программу вверх? И что надо помнить тогда сколько там я вверху уже табулировал? В голове у меня полная неясность. Такая же проблема с оператором if. Подскажите как на практике вы решаете эту проблему и она вас никак не напрягает при написании больших и сложных модулей?
doza_and
Эта проблема не напрягает потому что если у вас сложная структура циклов то это просто неправильная архитектура программы. Для уменьшения сложности есть много инструментов. Можно внутренности циклов в функции выносить, можно несколько циклов объединить в один составной итератор (см примеры в модуле itertools), операторы перегружаются (например матричные и тензорные операции записываются как умножения или свертки, что сразу убирает писанину с кучей циклов) и т. п..

То что функционально законченный фрагмент кода должен умещаться на экран справедливо для всех языков.

Вот мне много на плюсах приходится писать. Блоки заключены в скобки. Но посмотрите на стиль оформления. Люди вс равно и в таких языках ориентируются на отступы в большей степени чем на скобки..
zino700
doza_and
То что функционально законченный фрагмент кода должен умещаться на экран справедливо для всех языков.

Спасибо. При моем малом опыте это Ваше замечание мне кажется наиболее важным. И наверное надо избегать теперь случайных нажатий “пробела” и “ tab”, хотя с “пробелом” у меня явно будут трудности.
Rodegast
> Не могу решить изучать этот язык или нет … в языке не предусмотрено завершение цикла ничем ни end ни ; (а все определяется отступом).

Тогда лучше не изучай.

> Подскажите как на практике вы решаете эту проблему и она вас никак не напрягает при написании больших и сложных модулей?

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


А там эти скобки очевидны. А пробел не виден, в том смысле, что я легко помню сколько циклов я открыл и легко вижу сколько закрывающих скобок надо поставить и позицию скобки можно ставить приблизительно, а с пробелом придется выцеливать. Ведь так?

To Rodegast:
А по поводу изучать или нет, спасибо за рекомендацию, но я обращаюсь к опытным людям у кого есть аргументы для выбора. А внешний вид - читаемость это уже результат правильно написанного кода, она мне как раз нравится, у меня боязнь (сомнение) что косякну с отступами.

Кстати, Doza_and спасибо ему, наоборот, по делу указал мне на мои недостатки, и наоборот усилил мой интерес к языку. Для себя понял, что пробовать стоит.
Всем спасибо. Тема закрыта.
@cckyi_boxxx
zino700, не несите ерунды, во-первых считать там все легко благодаря настройкам IDE, жмякнул Tab улетело на 4 пробела вперед, и при следующем переносе строки там и остаетесь автоматически, пока не вернетесь жмакнув backspace. Вот как выглядит хреновый код, а соблюдай я pep8 когда его писал, он был-бы еще читабельнее! Картинка кликабельна! Тут сам язык заставляет ВСЕХ прогеров придерживаться определенного стиля кода, а когда прогер прислушивается к рекомендациям из pep8 то ваще “почерк” пропадает, остаются только знания в коде.


Все-же соглашусь, поначалу непривычно без {} и ; но потом начинаешь смотреть на это как на лютое дерьмо. Я после пыхи привыкал гдет неделю, теперь-же глаза мои чтоб больше ее не видели.

Ну и наконец можно либо судачить тут и нихрена не делать, а можно попробовать питон и сделать свои выводы, думайте своей головой, не будте стадом.

P.S. иногда приходится открывать AVR Studio и брать в руки Си, и хоть либа под 8bit avr куда меньше питонячьей, но ИМХО питон легче и проще.

zino700
@cckyi_boxxx

Спасибо. Вас понял.
PEHDOM
zino700
я легко помню сколько циклов я открыл и легко вижу сколько закрывающих скобок надо поставить и позицию скобки можно ставить приблизительно а с пробелом придется выцеливать. Ведь так?
обычно нет, IDE сама считает блоки(даже notepad++ это умеет, который всего невсего текстовый редактор), и вставляет нужное количество пробелов при преводе строки, тоесть курсор у вас переходит не на первую позицию в строке, а на 12-ю, например, если у вас третье вложение.
Ну и если даже если вы переметились на первую позицию, если вы знаете сколько циклов вы открыли, что мешает вам нажать n раз Tab?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB