什么方法决定ipython返回,它不是str或unicode

时间:2016-02-09 15:20:55

标签: python python-3.x unicode ipython python-3.4

这些不匹配,返回68 ...注意没有unicode,在ipython中使用python3:

In [2]: from datetime import date

In [3]: d = date(2010, 1, 31)

In [6]: d
Out[6]: datetime.date(2010, 1, 31)

In [7]: d.__
d.__add__           d.__eq__            d.__hash__          d.__new__           d.__rsub__          d.__subclasshook__
d.__class__         d.__format__        d.__init__          d.__radd__          d.__setattr__       
d.__delattr__       d.__ge__            d.__le__            d.__reduce__        d.__sizeof__        
d.__dir__           d.__getattribute__  d.__lt__            d.__reduce_ex__     d.__str__           
d.__doc__           d.__gt__            d.__ne__            d.__repr__          d.__sub__           


In [7]: d.__str__
Out[7]: <method-wrapper '__str__' of datetime.date object at 0x7fb4d5733f30>

In [8]: d.__str__()
Out[8]: '2010-01-31'

In [9]: type(d)
Out[9]: datetime.date

In [10]: d.__class__
Out[10]: datetime.date

910也不匹配。 ipython如何获得datetime.date(2010, 1, 31) ,这是一件我不应该担心的问题吗?谢谢

1 个答案:

答案 0 :(得分:2)

ipython使用repr()函数调用方法__repr__()

In [1]: from datetime import date

In [2]: d = date(2010, 1, 31)

In [3]: print(repr(d))
datetime.date(2010, 1, 31)