Уведомления

Группа в Telegram: @pythonsu

#1 Март 27, 2011 23:03:19

victor_kr
От:
Зарегистрирован: 2011-03-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

инициализация объектов значениями по-умолчанию

В чем разница?!

class Test(object):
def __init__(value, create_datetime=datetime.utcnow()):
self.value = value
self.create_datetime = create_datetime
или:

class Test(object):
def __init__(value):
self.value = value
self.create_datetime = datetime.utcnow()
В первом случае у всех объектов Test значение create_datetime - одинаковое и, похоже, равно времени загрузки модуля! Почему?! Где об этом прочитать? Спасибо.



Отредактировано (Март 28, 2011 09:38:41)

Офлайн

#2 Март 27, 2011 23:47:17

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

инициализация объектов значениями по-умолчанию

victor_kr
В первом случае у всех объектов Test значение create_datetime - одинаковое и, похоже, равно времени загрузки модуля!
Точно.
victor_kr
Почему?! Где об этом прочитать?
http://docs.python.org/tutorial/controlflow.html#default-argument-values



Офлайн

#3 Март 28, 2011 00:05:20

victor_kr
От:
Зарегистрирован: 2011-03-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

инициализация объектов значениями по-умолчанию

Спасибо. Надо было все таки этот вопрос в форум для новичков писать. :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version