Pull to refresh
3
0
Send message

Да, спасибо, я уже разобрался.

Автор замечательно постарался - так идею покорёжить!

Изначально-то речь шла про синтаксис, близкий к математической нотации, и заодно про избавление от лишних вычислений (if 1 < x < 10: или if subset in super_set in hyper_set:). А тут такое...

Впору на Obfuscated Code Contest заявляться. Туда, правда, на С программы берут.

Цитата из вашей ссылки

Best Practice & Common Mistakes

Best Practices:

  • Use chaining to improve readability.

  • Ensure expressions make logical sense.

  • Use parentheses when mixing logical (and, or) and comparison operators for clarity.

  • Leverage short-circuiting for efficiency.

Readability импрувится прям нереально. И logical sense изо всех щелей так и прёт.

Я про магическую константу спросил.

Лучше задать переменную с говорящим именем и значением 50.

А, вот в чем дело. Раздел 6.10 Comparisons

Formally, if abc, …, yz are expressions and op1op2, …, opN are comparison operators, then a op1 b op2 c ... y opN z is equivalent to a op1 b and b op2 c and ... y opN z, except that each expression is evaluated at most once.

Т.е. про скрытый `and` автор прав.

Да, я тоже заметил.

>>> 55 == True is True
False

>>> 55 == True is False
False

>>> (55 == True) is False
True

>>> 55 == (True is True)
False

>>> 55 == (True is False)
False

Все-таки, похоже, справа налево вычисление идёт, а не слева направо

Документация.

Operators in the same box group left to right (except for exponentiation and conditional expressions, which group from right to left).

== и `is` находятся в одной ячейке, под Bitwise OR. Значит, я неверно понимаю что такое "operators group"

Есть ли вероятность, что кандидат, придя к Вам на собеседование, не увидит этих вопросов?

Знание ответов на эти вопросы это Ваш единственный критерий для определения того, что опыт не накручен?

Общий тон статьи можно охарактеризовать как "Смотрите, как я разделываюсь с самозванцами, как я лихо вывожу обманщиков на чистую воду на незнании базы."

При этом, Вы первых же строках показали незнание этой самой базы, притянув в обычное вычисление выражения chained comparison, который и рядом не валялся.

Приоритет одинаковый, выражение вычисляется слева направо.

if 50: - - - хорошо

Это тоже нехорошо.

Что такое 50?

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

Какой будет результат у

int("198_1")

?

Скрытый текст

Поэтому Python и интерпретирует выражение как (55 == True) and (True is True)

Не согласен.

У == и is одинаковый приоритет, скобок нет, поэтому выражение вычисляется слева направо: `(55 == True) is True` -> `False is True` -> `False`. Никакого `and` тут нет.

Вы уверены, что в первом примере chained comparison?

В https://peps.python.org/pep-0535/ говорится только про операторы < ,> ,<= и >=
Про == и `is` не нашёл.

Кажется, из всего коллектива только DBA что-то понимает.

Тестового стенда нет, код выкатывается сразу на прод. Про logrotate не слышали.

Вспомнил, приложение называлось "Living in the sun - Sun & Moon". В плей-маркете сейчас нет, на всяких альтернативных apk-помойках можно найти.

Лет 8 назад было в гуглосторе. На карте можно было указать точку, и оно показывало тень, которую отбросила бы 10-метровая палка, воткнутая вертикально в эту точку, в зависимости от даты и времени суток. Мы с его помощью планировали, что и где на даче сажать. У меня сейчас аппарат от Хуавей, поэтому ссылку найти затрудняюсь.

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

В ссылке выше можно найти адрес сайта заведения. Основан в 23 году, находится в Москве на улице Гашека.

Список учебных дисциплин выглядит впечатляюще. Если всё сказанное - правда, там нет ненужного, всё ориентировано на обучение качественный IT-специалистов.

Среди преподавателей встретились пара знакомых фамилий.

Тут еще нюанс - а мало ли вдруг, врач, начитывая цфры с экрана, оговорится, и STT запишет что-то не то.

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

Вид интерфейса - право разработчика.

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

Information

Rating
Does not participate
Registered
Activity