Комментарии 8
Спасибо за подборку.
Кто-нибудь может объяснить мне пятую статью («Python Functions Aren't What You Think»)? Почему её автор преподносит то, что он пишет, как какое-то открытие, как сакральное знание о некой скрытой механике? На мой взгляд, всё, что там написано, очевидно следует из того факта, что в питоне функции являются объектами первого класса.
Кто-нибудь может объяснить мне пятую статью («Python Functions Aren't What You Think»)? Почему её автор преподносит то, что он пишет, как какое-то открытие, как сакральное знание о некой скрытой механике? На мой взгляд, всё, что там написано, очевидно следует из того факта, что в питоне функции являются объектами первого класса.
+1
вам спасибо!
на самом деле этот вопрос очень актуален для людей с опытом в других языках, начавших писать на Python.
часто такие вопросы встречал у людей с предыдущим опытом в PHP.
но причину, почему это так вы указали верно, да
на самом деле этот вопрос очень актуален для людей с опытом в других языках, начавших писать на Python.
часто такие вопросы встречал у людей с предыдущим опытом в PHP.
но причину, почему это так вы указали верно, да
0
Интересно уточнение: ф-ии в python всегда создаются анонимными, а потом создаётся переменная с именем ф-ии и ей присваивается значение в виде этой ф-ии. Вообще, вопрос этот спорный. Не факт, что под капотом всё так и будет, однако, если всё так, мы имеем несколько интересных последствий. Например, мы находим объяснение тому, что функция может переопределить переменную, объявленную выше. И, на сей раз, объяснение не ограничивается формулой «просто потому, что пространство имён». Ещё, мы предполагаем, что объект функции создаётся раньше, чем присваивается имя (по крайней мере, автор пишет именно так). Я не знаю где бы это могло использоваться, но, уверен, позже мы придумаем что-нибудь.
Да, если всё так и есть, в теории, мы можем сделать так:
Да, если всё так и есть, в теории, мы можем сделать так:
some_var = 30
def some_var(my_val=some_var):
print(my_val)
some_var()
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
Я правильно понимаю что в Gitsuggest (Инструменте, который подсказывает github-репозитории на основе тех, которые вам понравились) нужно вводить логин, пароль от GitHub?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Pygest #10. Релизы, статьи, интересные проекты из мира Python [23 мая 2017 — 5 июня 2017]