Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 23, 2012 17:01:28

ankane
Зарегистрирован: 2012-11-16
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему datetime присвоенный переменной показывает то значение которое показывает.

Я новичок, начинаю учить питон и джанго. В одном из примеров в django-book :

>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2008, 12, 13, 14, 9, 39, 2731)
>>> print now
2008-12-13 14:09:39.002731

Я не могу понять. now == кортежу (2008, 12, 13, 14, 9, 39, 2731) ? Кортеж это по сути то же, что и список, только не изменяемый?

Вопрос - каким образом print расставил знаки между элементами (2008-12-13 14:09:39.002731)кортежа при выводе?

Спасибо.

Офлайн

#2 Ноя. 23, 2012 17:38:24

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Почему datetime присвоенный переменной показывает то значение которое показывает.

это инстанс класса datetime а не кортеж

Офлайн

#3 Ноя. 23, 2012 17:52:41

alien308
Зарегистрирован: 2012-06-23
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему datetime присвоенный переменной показывает то значение которое показывает.

datetime это не кортеж. У него есть тип datetime. Когда print его обрабатывает он смотрит прежде всего тип и вывод формирует соответствующим образом.

>>>type(now)
<type 'datetime.datetime'>

Отредактировано alien308 (Ноя. 23, 2012 17:56:52)

Офлайн

#4 Ноя. 23, 2012 18:07:01

ankane
Зарегистрирован: 2012-11-16
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему datetime присвоенный переменной показывает то значение которое показывает.

Alien308 , Спасибо, “type” помог разъяснить ситуацию.

Офлайн

#5 Ноя. 24, 2012 18:37:20

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Почему datetime присвоенный переменной показывает то значение которое показывает.

>>> class A:
...     def __repr__(self):
...         return ">repr<"
...     def __str__(self):
...         return ">str<"
...     
... x = A()
... 
... print x
>str<
>>> x
>repr<
>>> 



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version