5.9 KiB
Vendored
What the f*ck Python! 😱
Изучение и понимание Python с помощью нестандартного поведения и "магического" поведения.
Переводы: English Original Chinese 中文 | Vietnamese Tiếng Việt | Spanish Español | Korean 한국어 | Russian Русский | German Deutsch | Add translation
Альтернативные способы: Интерактивный сайт | Интерактивный Jupiter notebook | CLI
Python, будучи прекрасно спроектированным высокоуровневым языком программирования, предоставляет множество возможностей для удобства программиста. Но иногда результаты работы Python кода могут показаться неочевидными на первый взгляд.
wtfpython задуман как проект, пытающийся объяснить, что именно происходит под капотом некоторых неочевидных фрагментов кода и менее известных возможностей Python.
Если вы опытный программист на Python, вы можете принять это как вызов и правильно объяснить WTF ситуации с первой попытки. Возможно, вы уже сталкивались с некоторыми из них раньше, и я смогу оживить ваши старые добрые воспоминания! 😅
PS: Если вы уже читали wtfpython раньше, с изменениями можно ознакомиться здесь (примеры, отмеченные звездочкой - это примеры, добавленные в последней основной редакции).
Ну что ж, приступим...
Содержание
Структура примера
Все примеры имеют следующую структуру:
▶ Какой-то заголовок
# Неочевидный фрагмент кода # Подготовка к магии...
Вывод (Python версия):
>>> triggering_statement Неожиданные результаты
(Опционально): Краткое описание неожиданного результата
💡 Объяснение
- Краткое объяснение того, что происходит и почему это происходит.
# Код # Дополнительные примеры для дальнейшего разъяснения (если необходимо)
Вывод (Python версия):
>>> trigger # какой-нибудь пример, позволяющий легко раскрыть магию # обоснованный вывод
Важно: Все примеры протестированы на интерактивном интерпретаторе Python 3.5.2, и они должны работать для всех версий Python, если это явно не указано перед выводом.
Применение
Хороший способ получить максимальную пользу от этих примеров - читать их последовательно, причем для каждого из них важно:
- Внимательно изучить исходный код. Если вы опытный программист на Python, то в большинстве случаев сможете предугадать, что произойдет дальше.
- Прочитать фрагменты вывода и,
- Проверить, совпадают ли выходные данные с вашими ожиданиями.
- Убедиться, что вы знаете точную причину, по которой вывод получился именно таким.
- Если ответ отрицательный (что совершенно нормально), сделать глубокий вдох и прочитать объяснение (а если пример все еще непонятен, и создайте issue здесь).
- Если "да", ощутите мощь своих познаний в Python и переходите к следующему примеру.
PS: Вы также можете читать WTFPython в командной строке, используя pypi package,
pip install wtfpython -U
wtfpython