Pygest #10. Релизы, статьи, интересные проекты из мира Python [23 мая 2017 — 5 июня 2017]

    image Всем привет! Это уже десятый выпуск дайджеста на Хабрахабр о новостях из мира Python.

    В сегодняшнем выпуске вы найдёте интересные материалы, касающиеся Python 3 и его внутреннего устройства, Django, производительности и многого другого. Присылайте свои актуальные материалы, а также любые замечания и предложения, которые будут добавлены в ближайший дайджест.

    А теперь к делу!


    Статьи


    Да, Python медленный, но меня это не волнует
    О том, что действительно важнее — продуктивность или производительность?

    Python 3 Patterns, Recipes and Idioms
    Очень крутая подборка паттернов и рецептов для Python 3

    The Meaning of Underscores in Python
    О назначении символа нижнего подчёркивания в Python

    Exposing Python 3.6's Private Dict Version
    Немного о внутреннем устройстве словарей в Python 3.6

    Python Functions Aren't What You Think
    Небольшая заметка о том, что, на самом деле, представляют из себя функции в Python

    Python: the thing good Objects come in
    Заметка о внутреннем устройстве объектов в Python

    Debugging an inactive python process
    Отличная статья о том, как можно осуществлять отладку неактивного процесса в Python

    Modern Django — Part 0: Introduction and Initial Setup
    Modern Django — Part 1: Project Refactor and Meeting the Django Settings API
    Modern Django — Part 2: REST APIs, Apps, and Django REST Framework
    Серия статей, рассказывающих о том, как начать работать с Django

    Интересные проекты


    Chaos Bot
    Интересный эксперимент, в котором всю разработку отдали в open-source сообщество.

    Gitsuggest
    Инструмент, который подсказывает github-репозитории на основе тех, которые вам понравились.

    News Audit
    Инструмент для определения «фейковых» новостей

    Предыдущий выпуск дайджеста ищете здесь:

    Pygest #9. Релизы, статьи, интересные проекты из мира Python [8 мая 2017 — 22 мая 2017]

    Спасибо за внимание! Присылайте Ваши предложения для публикации в дайджесте!
    • +19
    • 11,6k
    • 8
    Поделиться публикацией

    Комментарии 8

      +1
      Спасибо за подборку.

      Кто-нибудь может объяснить мне пятую статью («Python Functions Aren't What You Think»)? Почему её автор преподносит то, что он пишет, как какое-то открытие, как сакральное знание о некой скрытой механике? На мой взгляд, всё, что там написано, очевидно следует из того факта, что в питоне функции являются объектами первого класса.
        0
        вам спасибо!

        на самом деле этот вопрос очень актуален для людей с опытом в других языках, начавших писать на Python.
        часто такие вопросы встречал у людей с предыдущим опытом в PHP.

        но причину, почему это так вы указали верно, да
          0
          Интересно уточнение: ф-ии в python всегда создаются анонимными, а потом создаётся переменная с именем ф-ии и ей присваивается значение в виде этой ф-ии. Вообще, вопрос этот спорный. Не факт, что под капотом всё так и будет, однако, если всё так, мы имеем несколько интересных последствий. Например, мы находим объяснение тому, что функция может переопределить переменную, объявленную выше. И, на сей раз, объяснение не ограничивается формулой «просто потому, что пространство имён». Ещё, мы предполагаем, что объект функции создаётся раньше, чем присваивается имя (по крайней мере, автор пишет именно так). Я не знаю где бы это могло использоваться, но, уверен, позже мы придумаем что-нибудь.

          Да, если всё так и есть, в теории, мы можем сделать так:
          some_var = 30
          
          def some_var(my_val=some_var):
              print(my_val)
          some_var()
          


            0
            > Например, мы находим объяснение тому, что функция может переопределить переменную, объявленную выше.
            > И, на сей раз, объяснение не ограничивается формулой «просто потому, что пространство имён».

            «Функция, как и все остальное в языке Python, является объектом.» Этого не достаточно для объяснения?

            У нас же есть магический метод __call__ для создания функции через экземпляр класса
              0
              Иногда полезно читать несколько статей в дайджесте прежде, чем начинать спорить из-за одной:

              These dunder methods are often referred to as magic methods—but many people in the Python community, including myself, don’t like that.
              It’s best to stay away from using names that start and end with double underscores (“dunders”) in your own programs to avoid collisions with future changes to the Python language.


              З.Ы. Довольно интересно: это реально моветон, или автор слишком осторожен?
                0
                Ну, поведение существующих магических методов никто менять не будет, а вот придумывать свои — это моветон.
          0
          Я правильно понимаю что в Gitsuggest (Инструменте, который подсказывает github-репозитории на основе тех, которые вам понравились) нужно вводить логин, пароль от GitHub?
            0
            необязательно
            # Password can be skipped which means you chose to go the unauthenticated
            # way which may raise RateLimitExceeded exception.

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

          Самое читаемое