Python 如何在sum()的输出发生更改之前访问它

Python 如何在sum()的输出发生更改之前访问它,python,sum,timedelta,Python,Sum,Timedelta,如果我在一个交互提示下做这个,它会返回一种格式——我现在想要的格式 但是,如果我将其分配给一个变量,然后像第二个示例中那样打印或使用该变量(与我的文件中的相同),它的格式就不同了 如何访问第一个输出- 非常感谢你的帮助 import datetime tote = datetime.timedelta(0, 25200), datetime.timedelta(0, 25200) sum(tote, datetime.timedelta(0)) datetime.timedelta(0, 504

如果我在一个交互提示下做这个,它会返回一种格式——我现在想要的格式

但是,如果我将其分配给一个变量,然后像第二个示例中那样打印或使用该变量(与我的文件中的相同),它的格式就不同了

如何访问第一个输出-

非常感谢你的帮助

import datetime
tote = datetime.timedelta(0, 25200), datetime.timedelta(0, 25200)
sum(tote, datetime.timedelta(0))
datetime.timedelta(0, 50400)


import datetime
tote = datetime.timedelta(0, 25200), datetime.timedelta(0, 25200)
brac = sum(tote, datetime.timedelta(0))
print brac
14:00:00



import datetime
tote = datetime.timedelta(0, 25200), datetime.timedelta(0, 25200)
brac = sum(tote, datetime.timedelta(0))
print repr(brac)
datetime.timedelta(0, 50400)
datetime.timedelta.total_seconds(repr(brac))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor 'total_seconds' requires a 'datetime.timedelta' object but 
received a 'str'
导入日期时间
tote=datetime.timedelta(02500),datetime.timedelta(02500)
总和(tote,datetime.timedelta(0))
datetime.timedelta(05400)
导入日期时间
tote=datetime.timedelta(02500),datetime.timedelta(02500)
brac=总和(tote,datetime.timedelta(0))
印花布
14:00:00
导入日期时间
tote=datetime.timedelta(02500),datetime.timedelta(02500)
brac=总和(tote,datetime.timedelta(0))
打印报告(brac)
datetime.timedelta(05400)
datetime.timedelta.total_seconds(repr(brac))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:描述符“total_seconds”需要“datetime.timedelta”对象,但
收到“str”

当您说
打印brac
时,您正在访问对象的字符串表示形式。您可能需要的是
print repr(brac)
,它提供了第一个代码示例生成的格式。

当您说
print brac
时,您正在访问对象的字符串表示形式。您可能需要的是
print repr(brac)
,它提供了第一个代码示例生成的格式。

Python交互式shell使用
repr()
函数回显表达式的结果,但是
print
使用
str()
将值转换为字符串

在这两种情况下,
sum()
生成完全相同的结果,但在第一个示例中,您会看到解释器使用
repr()
打印输出,在第二个结果中使用
print
,结果使用
str()
转换为字符串:


没有其他你需要做的事情;您已经将相同的结果分配给了
brac

Python交互式shell使用
repr()
函数回显表达式的结果,但是
print
使用
str()
将值转换为字符串

在这两种情况下,
sum()
生成完全相同的结果,但在第一个示例中,您会看到解释器使用
repr()
打印输出,在第二个结果中使用
print
,结果使用
str()
转换为字符串:


没有其他你需要做的事情;您已经将相同的结果分配给
brac

我删除了分号;如果您将语句放在单独的行中(而且可读性也更高),Python在没有它们的情况下运行得很好,而且您所要求的内容也不清楚
brac
等于
datetime.timedelta(05400)
,但该对象的字符串表示形式为
14:00:00
。使用
print repr(brac)
代替。我想这正是他要问的,Martijn,如何使用
repr()
来查看对象,而不是它的字符串表示我知道,我很抱歉。我仍在努力使这里的东西张贴正确的格式。对不起,我没有大声喊叫,当我看着窗外的时候你们都发了帖子。太好了,谢谢你们。我去掉了分号;如果您将语句放在单独的行中(而且可读性也更高),Python在没有它们的情况下运行得很好,而且您所要求的内容也不清楚
brac
等于
datetime.timedelta(05400)
,但该对象的字符串表示形式为
14:00:00
。使用
print repr(brac)
代替。我想这正是他要问的,Martijn,如何使用
repr()
来查看对象,而不是它的字符串表示我知道,我很抱歉。我仍在努力使这里的东西张贴正确的格式。对不起,我没喊,我看着窗外的时候你们都发了帖子。太好了,谢谢你们。
>>> import datetime
>>> tote = datetime.timedelta(0, 25200), datetime.timedelta(0, 25200)
>>> brac = sum(tote, datetime.timedelta(0))
>>> brac
datetime.timedelta(0, 50400)
>>> print brac
14:00:00
>>> repr(brac)
'datetime.timedelta(0, 50400)'