Найти в Дзене
Герман Геншин

5 Пасхалок в Python, которые делают изучение программирования более увлекательным

Знаете ли вы, что в Python есть несколько скрытых пасхалок? Оказывается, ваш любимый язык программирования не только полезен для создания приложений, но и способен подарить качественное чувство юмора. Давайте разберем некоторые из них. Если вы когда-либо писали код на любом языке, то, вероятно, вашей первой программой было напечатать "Привет, мир" в консоли. В Python это делается с помощью одной строки кода. Однако есть и более интересный способ. Вы можете импортировать модуль __hello__, чтобы его вывести. Но начиная с версии Python 3.11, вам нужно вызвать его основной метод, чтобы действительно напечатать текст. Похожим образом существует также модуль __phello__, который выполняет ту же функцию. Модуль __phello__ даже имеет атрибут spam, который вы можете вызвать, чтобы напечатать его дважды. Это работает в версиях, выпущенных до 3.11. На самом деле, эти модули были добавлены в Python для проверки работы замороженных модулей, как упоминается в исходном коде Cpython. Так что в следующ
Оглавление

Знаете ли вы, что в Python есть несколько скрытых пасхалок? Оказывается, ваш любимый язык программирования не только полезен для создания приложений, но и способен подарить качественное чувство юмора. Давайте разберем некоторые из них.

5 Привет, мир

Если вы когда-либо писали код на любом языке, то, вероятно, вашей первой программой было напечатать "Привет, мир" в консоли. В Python это делается с помощью одной строки кода.

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

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

-2

Похожим образом существует также модуль __phello__, который выполняет ту же функцию.

-3

Модуль __phello__ даже имеет атрибут spam, который вы можете вызвать, чтобы напечатать его дважды. Это работает в версиях, выпущенных до 3.11.

-4

На самом деле, эти модули были добавлены в Python для проверки работы замороженных модулей, как упоминается в исходном коде Cpython.

Так что в следующий раз, когда вы захотите вывести 'Привет, мир!', попробуйте этот прием, чтобы повеселиться или удивить окружающих.

4 Дзен Python

Каждый язык программирования имеет свои правила, философию и лучшие практики. Python не исключение. Тим Питерс, один из основных разработчиков языка Python, создал набор принципов для написания кода на этом языке. Это известный текст, называемый "Дзен Python". Этот документ даже встроен в сам язык. Чтобы прочитать его, просто выполните:

Вы увидите, как Дзен Python отображается на экране.

-5

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

Существует другой фрагмент кода, который трансформирует данный текст.

Итак, что происходит: исходный текст зашифрован с использованием алгоритма замены, известного как ROT13. Это обратимый алгоритм. При импорте модуля this зашифрованный текст расшифровывается в его первоначальную форму и выводится на экран.

3 Скобки или без скобок

Если вы хоть раз работали с Python, то знаете, что этот язык редко использует фигурные скобки, которые являются одним из самых распространенных синтаксисов во многих популярных языках. Фигурные скобки обычно используются для определения области кода, такой как условия, циклы и т.д. Вместо них в Python используется отступ. Но будут ли когда-нибудь фигурные скобки в Python? Скорее всего, нет. Разработчики уже ответили на этот вопрос в модуле __future__.

-6

Это специальная ошибка синтаксиса, которую вы не встретите в других случаях, указывающая на то, что фигурные скобки никогда не появятся в Python. Модуль __future__ в Python предназначен для внедрения функций в текущую версию Python, которые будут включены в будущую версию. Это сделано для того, чтобы вы могли адаптироваться к новой функции. Умное решение встроить эту пасхалку в данный модуль.

2 FLUFL

Модуль __future__ содержит еще одну интересную пасхалку. Если вы когда-либо использовали логические операторы в программировании, вы знаете, что в большинстве языков символ неравенства обозначается как != (восклицательный знак и равный знак). Однако один из основных разработчиков Python, Барри Варсав, также известный как Дядя Барри, предпочитал использовать алмазные операторы (<>) для обозначения неравенства. Вот код.

-7

FLUFL расшифровывается как Friendly Language Uncle For Life​​​​​​ — очевидно, так называется Дядя Барри.

1 антигравитация

Еще один увлекательный модуль для экспериментирования. Я не буду раскрывать все секреты, просто выполните этот код и испытайте это на себе.

Этот модуль также имеет функцию geohash(). Эта функция используется для геохеширования с использованием алгоритма Munroe.

-8

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

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

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Вы также можете читать наши материалы в: