Как стать автором
Обновить

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

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

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

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

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

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

def some_var(my_val=some_var):
    print(my_val)
some_var()


НЛО прилетело и опубликовало эту надпись здесь
Иногда полезно читать несколько статей в дайджесте прежде, чем начинать спорить из-за одной:

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.


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

Публикации

Истории