Файл с текстом параграфа
Файл с текстом параграфа
Скачать файл: Ветвления
Re: Файл с текстом параграфа
Добрый день, есть такие комментарии.
При появлении f-строк добавил бы (как писал для первого параграфа) пояснение, чем это хорошо. Например, что удобно в одном месте контролировать вывод выражений и формат вывода вместо набора отдельных функций.
Множественное присваивание разве не вводилось уже в первом параграфе? Кажется, оно было как минимум в алгоритме Евклида.
"Это тот же условный оператор, в котором переставлены части." -- ну это не так, лучше четко написать, что операторы это "предложения" языка и не генерируют значения, а выражения генерируют, поэтому для использования результатов условного оператора нужно сделать его выражением, что и имеет место быть в Питоне и ряде других языков.
"В языке Python разрешены двойные неравенства" -- может, стоит отметить, что это скорее исключение, в более традиционных языках они запрещены. По опыту помню, что это одна из частых ошибок изучающих Си первокурсников, которые переносят опыт питона.
"В Python принимается, что True>False." -- можно пояснить, что это связано с трактовкой целых чисел как логических значений в виде 1 и 0 (про такую трактовку и приведение типов уже говорилось в первом параграфе). Иначе опять возникает утверждение без какого-либо объяснения. Тем более что дальше в тексте еще есть использования того, что истина это 1, а ложь 0.
"потому что попытается перевести в исполняемый код" -- так лучше не писать, если мы считаем питон интерпретируемым языком. Кроме того, программа ничего в исполняемый код не переводит. Можно просто "потому что попытается выполнить сравнение...".
"Эквиваленция" -- должен признаться, в первый раз услышал такой вариант названия. Предложил бы писать эквивалентность.
Преобразование типов в первом параграфе было приведением.
"Обычно в такая проверка записывается" -- лишнее в.
"Не стоит их использовать, если в вашей программе придётся разбираться другим людям." -- это чересчур широковещательное заявление. С одной стороны, нужно сказать, что читаемость программы является одним из важнейших приоритетов, ведь просто код читается чаще, чем пишется (а это потому, что хорошая программа живет и изменяется, а не статична). С другой стороны, профессиональный программист, свободно владеющий языком, должен легко считывать такие трюки, опять же потому, что другие профессионалы их массово используют. Здесь есть аналогия со свободным владением естественными языками. Поэтому использовать нужно аккуратно, не вредя читаемости, но знать и понимать надо.
"будет преобразуется в логическое." -- видимо, будет преобразовано.
"пустые коллекции (строка, список, множество и т. п.)" -- строки обычно не относят к коллекциям?
"0,0 (float)," -- в первом параграфе использовалась точка как разделитель целой и дробной части.
В параграфе довольно большой блок материалов со звездочкой. Я бы предложил хотя бы флаги отнести к обычному материалу. Если раньше были биты, то и побитовые операции тоже бы вынес из-под звездочки. С остальным согласен, что целесообразно оставить под звездочкой.
--
Андрей Белеванцев
При появлении f-строк добавил бы (как писал для первого параграфа) пояснение, чем это хорошо. Например, что удобно в одном месте контролировать вывод выражений и формат вывода вместо набора отдельных функций.
Множественное присваивание разве не вводилось уже в первом параграфе? Кажется, оно было как минимум в алгоритме Евклида.
"Это тот же условный оператор, в котором переставлены части." -- ну это не так, лучше четко написать, что операторы это "предложения" языка и не генерируют значения, а выражения генерируют, поэтому для использования результатов условного оператора нужно сделать его выражением, что и имеет место быть в Питоне и ряде других языков.
"В языке Python разрешены двойные неравенства" -- может, стоит отметить, что это скорее исключение, в более традиционных языках они запрещены. По опыту помню, что это одна из частых ошибок изучающих Си первокурсников, которые переносят опыт питона.
"В Python принимается, что True>False." -- можно пояснить, что это связано с трактовкой целых чисел как логических значений в виде 1 и 0 (про такую трактовку и приведение типов уже говорилось в первом параграфе). Иначе опять возникает утверждение без какого-либо объяснения. Тем более что дальше в тексте еще есть использования того, что истина это 1, а ложь 0.
"потому что попытается перевести в исполняемый код" -- так лучше не писать, если мы считаем питон интерпретируемым языком. Кроме того, программа ничего в исполняемый код не переводит. Можно просто "потому что попытается выполнить сравнение...".
"Эквиваленция" -- должен признаться, в первый раз услышал такой вариант названия. Предложил бы писать эквивалентность.
Преобразование типов в первом параграфе было приведением.
"Обычно в такая проверка записывается" -- лишнее в.
"Не стоит их использовать, если в вашей программе придётся разбираться другим людям." -- это чересчур широковещательное заявление. С одной стороны, нужно сказать, что читаемость программы является одним из важнейших приоритетов, ведь просто код читается чаще, чем пишется (а это потому, что хорошая программа живет и изменяется, а не статична). С другой стороны, профессиональный программист, свободно владеющий языком, должен легко считывать такие трюки, опять же потому, что другие профессионалы их массово используют. Здесь есть аналогия со свободным владением естественными языками. Поэтому использовать нужно аккуратно, не вредя читаемости, но знать и понимать надо.
"будет преобразуется в логическое." -- видимо, будет преобразовано.
"пустые коллекции (строка, список, множество и т. п.)" -- строки обычно не относят к коллекциям?
"0,0 (float)," -- в первом параграфе использовалась точка как разделитель целой и дробной части.
В параграфе довольно большой блок материалов со звездочкой. Я бы предложил хотя бы флаги отнести к обычному материалу. Если раньше были биты, то и побитовые операции тоже бы вынес из-под звездочки. С остальным согласен, что целесообразно оставить под звездочкой.
--
Андрей Белеванцев
Re: Файл с текстом параграфа
Спасибо за отзыв. Некоторые соображения ниже, остальное поправил.
Исполняемый код - это код после прохода компилятора в байт-код. Поэтому никто даже не попытается выоплнить сравнение."потому что попытается перевести в исполняемый код" -- так лучше не писать, если мы считаем питон интерпретируемым языком. Кроме того, программа ничего в исполняемый код не переводит. Можно просто "потому что попытается выполнить сравнение...".
Математики меня убедили в том, что эквиваленция - это операция, а эквивалентность - это факт, соотношение. Хотя когда-то я думал так же, как и Вы."Эквиваленция" -- должен признаться, в первый раз услышал такой вариант названия. Предложил бы писать эквивалентность.
Почему-то по стилю мне режет слух "приведение" здесь. Но я подумаю.Преобразование типов в первом параграфе было приведением.
Я прикинул время - что можно успеть за урок. То, что без звездочки, я точно успею. А флаги - нет.В параграфе довольно большой блок материалов со звездочкой. Я бы предложил хотя бы флаги отнести к обычному материалу.
Re: Файл с текстом параграфа
В логических и математических контекстах да, но в программистских, судя по интернету, чаще говорят "отношение эквивалентности", которое потом вырождается просто в эквивалентность. Я не настаиваю, просто мне кажется, что подавляющее большинство школьников впоследствии конкретно с этим термином никогда не столкнется.Поляков wrote: Thu Jun 11, 2026 12:42 pm Математики меня убедили в том, что эквиваленция - это операция, а эквивалентность - это факт, соотношение. Хотя когда-то я думал так же, как и Вы.
Здесь я имел в виду, что между параграфами стоит выдержать постоянство в терминах. Я к приведению привык на сишной колокольне, но совершенно не против преобразования.Поляков wrote: Thu Jun 11, 2026 12:42 pm Почему-то по стилю мне режет слух "приведение" здесь. Но я подумаю.
Про флаги мне просто показалось, что это совершенно базовый и очень полезный материал. Странно его видеть в звездочках. Может, сократить и частично вынести в практикум?
Re: Файл с текстом параграфа
Несколько небольших замечаний:
1. Заменить импликацию на <= выглядит хорошей идеей. Но возможно стоит добавить, что для задач ЕГЭ это нормально, но в реальном программировании это может привести к ошибкам.
2. Возможно стоит явно указать, что «операторы» — это элементы языка Python, а «операции» — математическое/логическое понятие.
3. Возможно в примере M = a if a > b else b явно отметить, что такой стиль используется часто в «компактном» коде, но на первых порах лучше писать «полные» if/else, чтобы не запутаться.
1. Заменить импликацию на <= выглядит хорошей идеей. Но возможно стоит добавить, что для задач ЕГЭ это нормально, но в реальном программировании это может привести к ошибкам.
2. Возможно стоит явно указать, что «операторы» — это элементы языка Python, а «операции» — математическое/логическое понятие.
3. Возможно в примере M = a if a > b else b явно отметить, что такой стиль используется часто в «компактном» коде, но на первых порах лучше писать «полные» if/else, чтобы не запутаться.
Re: Файл с текстом параграфа
1. Я бы сказал, что и "отношения" и "пара символов =", введенные для пояснения примеров условий, с точки зрения языка питон являются такими же операциями, как и сложение или умножение, и имеют результат логического типа. Иначе эти вещи оказываются немного подвешенными в воздухе и не понятно, как они относятся к выражениям, хотя ранее явно сказано, что условие это выражение. Возможно также стоит в этом или предыдущем параграфе явно проговорить, что выражение это последовательность операций.
2. Мне не очень нравится формулировка при введении множественного присваивания. Она дает пример использования, но не определение. Я бы лучше сказал, что множественное присваивание позволяет присвоить значения сразу нескольким переменным и при этом гарантирует, что для вычисления новых значений будут использованы старые. Поэтому, например, его можно использовать для обмена значений переменных.
3. На пятой странице во втором абзаце опечатка в слове "переменная".
4. В пункте про приоритет логических операций я бы был осторожен с утверждением о том, что операции с одинаковым приоритетом выполняются слева направо. Возможно под сноской можно написать, что это верно для логических операций, но не для всех операций в языке питон. Например, возведение в степень вычисляется справа налево.
5. Не уверен, почему стоит пытаться избежать названия операций "побитовыми", и вместо этого они названы "поразрядными". Особенно с учетом того, что и до и после биты спокойно упоминаются. Первый вариант употребляется гораздо чаще.
Заодно оставлю пару комментариев к предыдущим комментариям.
6. Про эквиваленцию -- мне кажется, здесь использование этого термина вполне уместно. Он используется именно в контексте математической операции, а затем сказано, что в языке питон для этого используется операция проверки на равенство.
7. Про операторы и операции -- и то и другое является элементом языка. Главная разница в том, что операторы не имеют значения, а операции имеют. Путаница обычно происходит из-за того, что операции на английский переводятся как раз таки как operator, а операторы -- как statement.
2. Мне не очень нравится формулировка при введении множественного присваивания. Она дает пример использования, но не определение. Я бы лучше сказал, что множественное присваивание позволяет присвоить значения сразу нескольким переменным и при этом гарантирует, что для вычисления новых значений будут использованы старые. Поэтому, например, его можно использовать для обмена значений переменных.
3. На пятой странице во втором абзаце опечатка в слове "переменная".
4. В пункте про приоритет логических операций я бы был осторожен с утверждением о том, что операции с одинаковым приоритетом выполняются слева направо. Возможно под сноской можно написать, что это верно для логических операций, но не для всех операций в языке питон. Например, возведение в степень вычисляется справа налево.
5. Не уверен, почему стоит пытаться избежать названия операций "побитовыми", и вместо этого они названы "поразрядными". Особенно с учетом того, что и до и после биты спокойно упоминаются. Первый вариант употребляется гораздо чаще.
Заодно оставлю пару комментариев к предыдущим комментариям.
6. Про эквиваленцию -- мне кажется, здесь использование этого термина вполне уместно. Он используется именно в контексте математической операции, а затем сказано, что в языке питон для этого используется операция проверки на равенство.
7. Про операторы и операции -- и то и другое является элементом языка. Главная разница в том, что операторы не имеют значения, а операции имеют. Путаница обычно происходит из-за того, что операции на английский переводятся как раз таки как operator, а операторы -- как statement.
Re: Файл с текстом параграфа
А к каким ошибкам?nikolay wrote: Tue Jun 16, 2026 6:36 am 1. Заменить импликацию на <= выглядит хорошей идеей. Но возможно стоит добавить, что для задач ЕГЭ это нормально, но в реальном программировании это может привести к ошибкам.
Не думаю, что на базовом уровне нужны такие тонкости.nikolay wrote: Tue Jun 16, 2026 6:36 am 2. Возможно стоит явно указать, что «операторы» — это элементы языка Python, а «операции» — математическое/логическое понятие.
"На первых порах" было в 8-м классе. Здесь уже можно.nikolay wrote: Tue Jun 16, 2026 6:36 am 3. Возможно в примере M = a if a > b else b явно отметить, что такой стиль используется часто в «компактном» коде, но на первых порах лучше писать «полные» if/else, чтобы не запутаться.
Re: Файл с текстом параграфа
Поправил текст.Neket wrote: Wed Jun 17, 2026 12:21 pm 1. Я бы сказал, что и "отношения" и "пара символов =", введенные для пояснения примеров условий, с точки зрения языка питон являются такими же операциями, как и сложение или умножение, и имеют результат логического типа. Иначе эти вещи оказываются немного подвешенными в воздухе и не понятно, как они относятся к выражениям, хотя ранее явно сказано, что условие это выражение. Возможно также стоит в этом или предыдущем параграфе явно проговорить, что выражение это последовательность операций.
Поправил текст.Neket wrote: Wed Jun 17, 2026 12:21 pm 2. Мне не очень нравится формулировка при введении множественного присваивания. Она дает пример использования, но не определение. Я бы лучше сказал, что множественное присваивание позволяет присвоить значения сразу нескольким переменным и при этом гарантирует, что для вычисления новых значений будут использованы старые. Поэтому, например, его можно использовать для обмена значений переменных.
Исправлено.Neket wrote: Wed Jun 17, 2026 12:21 pm 3. На пятой странице во втором абзаце опечатка в слове "переменная".
Поправил текст. "Логические операции с одинаковым приоритетом..."Neket wrote: Wed Jun 17, 2026 12:21 pm 4. В пункте про приоритет логических операций я бы был осторожен с утверждением о том, что операции с одинаковым приоритетом выполняются слева направо. Возможно под сноской можно написать, что это верно для логических операций, но не для всех операций в языке питон. Например, возведение в степень вычисляется справа налево.
Это, как мне кажется, вопрос вкуса. "Поразрядные" - понятно, что отдельно с каждым разрядом (мостик к системам счисления).Neket wrote: Wed Jun 17, 2026 12:21 pm 5. Не уверен, почему стоит пытаться избежать названия операций "побитовыми", и вместо этого они названы "поразрядными". Особенно с учетом того, что и до и после биты спокойно упоминаются. Первый вариант употребляется гораздо чаще.
Re: Файл с текстом параграфа
Перегрузка операторов может испортить данную логику.