Уведомления

Группа в Telegram: @pythonsu

#1 Март 2, 2011 13:28:45

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите почему получаю такие странности в пространстве имен

есть следующий код

def func():
func.x = 1

#func()

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

{}

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

{'x': 1}

почему так получается, что изменяется от строки func()?



Офлайн

#2 Март 2, 2011 13:30:17

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

подскажите почему получаю такие странности в пространстве имен

Функция вызывается :)



Офлайн

#3 Март 2, 2011 13:52:20

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите почему получаю такие странности в пространстве имен

Андрей Светлов
Функция вызывается :)
а если нет вызова, получается нет объекта самой функции?
я почему то думал что не обязательно вызывать функцию что бы получить ее атрибуты



Офлайн

#4 Март 2, 2011 13:59:45

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

подскажите почему получаю такие странности в пространстве имен

Еще раз: что делает ваша func?
И при чем здесь объект функции? func доступен всегда.



Офлайн

#5 Март 2, 2011 14:04:41

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите почему получаю такие странности в пространстве имен

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

Правильно? или я снова чего то не понял?



Офлайн

#6 Март 2, 2011 14:11:32

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

подскажите почему получаю такие странности в пространстве имен

Теперь - правильно.



Офлайн

#7 Март 2, 2011 14:23:51

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите почему получаю такие странности в пространстве имен

Андрей Светлов
Теперь - правильно.
Спасибо за помощь!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version