Найти - Пользователи
Полная версия: подскажите почему получаю такие странности в пространстве имен
Начало » Python для новичков » подскажите почему получаю такие странности в пространстве имен
1
AlexAled
есть следующий код

def func():
func.x = 1

#func()

print(func.__dict__)
Вывод интерпретатора

{}

а если расскомментить строку #func() то вывод будет таким:

{'x': 1}

почему так получается, что изменяется от строки func()?
Андрей Светлов
Функция вызывается :)
AlexAled
Андрей Светлов
Функция вызывается :)
а если нет вызова, получается нет объекта самой функции?
я почему то думал что не обязательно вызывать функцию что бы получить ее атрибуты
Андрей Светлов
Еще раз: что делает ваша func?
И при чем здесь объект функции? func доступен всегда.
AlexAled
Андрей Светлов
Еще раз: что делает ваша func?
И при чем здесь объект функции? func доступен всегда.
Получается что func добавляет в пространство имен функции атрибут x
и пока нет вызова функции в пространстве имен ничего нет, а объект функции есть всегда

Правильно? или я снова чего то не понял?
Андрей Светлов
Теперь - правильно.
AlexAled
Андрей Светлов
Теперь - правильно.
Спасибо за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB