2013-10-18 75 views
1

我刚刚开始学习python,当时我在网上找到了奇怪的符号,当我搜索http请求发送时发现。str(len(x))in python

HTTP响应的主体的长度(用于报头)与str(len(body)),我发现奇怪,因为在我的理解是len(str(body))是直观的表示法(身体的字符串表示的长度))来确定。

我真的很好奇这是关于什么 - 我没有得到一个Python的关键概念在这里?

为什么Python中使用:

str(len(x)) 

相反的:

len(str(body)) 
+0

好 - 愚蠢,愚蠢的我。我忘记了http请求中的头部由字符串组成,当然,“str”是用于字符串的。谢谢 - 这是唠叨我^^ – simlei

回答

3

您对符号的理解是正确的;你对什么是计算的解释不是。这是计算身体的长度(这是一个字符串),然后产生该数字的字符串表示形式。

1

不,你正确理解它。它的行为像Java,C或其他大多数语言。

这是计算body的长度,然后将其转换为字符串。你会得到一个数字字符串。

2

你的理解是正确的。 len(str(body))将与len(body)相同,因为body(假定)已经是一个字符串。但是,len返回的结果是一个数字(整数)。随着动态语言的发展,Python是相对严格的类型,代码需要它作为字符串来代替,所以它称为str

例如为:

>>> body = " This is the body" 
>>> len(body)  # 17 
>>> str(len(body)) # '17' 
相关问题