Найти - Пользователи
Полная версия: Почему datetime присвоенный переменной показывает то значение которое показывает.
Начало » Python для новичков » Почему datetime присвоенный переменной показывает то значение которое показывает.
1
ankane
Я новичок, начинаю учить питон и джанго. В одном из примеров в 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)кортежа при выводе?

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

>>>type(now)
<type 'datetime.datetime'>
ankane
Alien308 , Спасибо, “type” помог разъяснить ситуацию.
sp3
>>> class A:
...     def __repr__(self):
...         return ">repr<"
...     def __str__(self):
...         return ">str<"
...     
... x = A()
... 
... print x
>str<
>>> x
>repr<
>>> 
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