Почему функции Python имеют __name__? [дубликат]Python

Программы на Python
Ответить
Anonymous
 Почему функции Python имеют __name__? [дубликат]

Сообщение Anonymous »


Меня смущает атрибут __name__, который есть у функций Python по умолчанию. Давайте рассмотрим следующий код:

def foo(): возврат Нет печать(foo.__name__) Код выведет «foo», как и ожидалось. Немного избыточно, но почему бы и нет, я думаю. Однако, если мы добавим следующее:

bar = foo печать(bar.__name__) Приведенный выше код также печатает «foo». С точки зрения объектов и атрибутов это имеет смысл. С точки зрения соглашения об именах это сбивает с толку.

Наконец, следующий код

baz = лямбда:Нет печать(баз.__имя__) выводит '', что малоинформативно.

У меня такое ощущение, что атрибут __name__ пытается мне что-то сказать, но я не могу понять, что именно. Могу ли я получить некоторое представление о причинах такого выбора дизайна?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»