10+ пасхальных яиц в Python
Собрали пасхалки, зашитые в Python: самых известных и тех, которые видели не все. Советуем посмотреть на них, если стало скучно.
1К открытий16К показов
Все мы знаем про пасхалки. Будь то Крик Вильгельма, мини-игры на Android или Кольцо Всевластия в Assassins Creed. В языках программирования их тоже любят прятать. В статье посмотрим на те, которые зашили в Python.
Классика: Zen of Python от Тима Питерса
Zen of Python — 19 принципов программирования на Python, написанные разработчиком Тимом Питерсом. И единственная «пасхалка», которую официально указали в Руководстве. Чтобы найти ее нужно вбить:
И получить:
Кстати, строка «There should be one– and preferably only one –obvious way to do it» — отсылка к C и C++.
Шифр Цезаря
Модуль this.py, который выводит Zen of Python, выглядит так:
Строка s зашифрована с помощью ROT13 — все буквы сдвинуты на 13 позиций. Кстати, так же иногда скрывают спойлеры, что многих бесит.
Рандомные координаты
Про комикс, который вызывается с помощью import antigravity слышали все (если вы его не видели, то ловите). Но если покопаться, можно найти пасхалку в пасхалке: в модуле antigravity.py можно найти функцию geohash, которая открывает другой комикс и генерирует случайные координаты:
Мысли о любви
В дополнение к тому, каким должен быть код, Python любит порассуждать и о любви (и рассказать что любовь — это любовь, а что-то там еще):
Дядя Барри
1 первого апреля 2009 года Гвидо ван Россум заявил, что уходит в отставку, чтобы сосредоточиться на покорении Эвереста, и теперь официально значится как Benevolent Dictator Emeritus Vacationing Indefinitely from the Language (BDEVIL) — или Великодушный почетный диктатор, отдыхающий от языка в течение неопределенного срока. На его место якобы пришел Барри Уорсоу (или Дядя Барри). И тут же ввел несколько изменений и обругал Python 3.0 и Си.
Все это оказалось первоапрельской шуткой, отголоски которой все еще можно найти в интерпретаторе:
Никаких фигурных скобок
В Python, в отличие от, например, C, C ++ или Java используются отступы вместо фигурных скобок. И даже если попытаться импортировать их, можно увидеть это:
Целых 4 отсылки на Монти Пайтон
Гвидо ван Россум любит это шоу, и даже в документации указал, что: «Язык назван в честь шоу Би-би-си “Летающий цирк Монти Пайтона” и не имеет никакого отношения к рептилиям. Ссылки на скетчи Монти Пайтон в документации не только разрешены, но и поощряются!». Так что неудивительно, что в самом языке есть несколько отсылок к шоу:
- пример из официальной документации:
- использование spam и egg вместо foo и bar;
- формат .whl — отсылка к скетчу «Сырная Лавка».
Типы не для слабонервных
Если проверить справку для types.CodeType, то можно узнать, что на эту тему думает создатель языка:
Хэши
Хеш — фиксированное целое число, идентифицирующее конкретную величину. Можно ли найти хеш бесконечности или NaN? В Python да:
1К открытий16К показов