python中的str(len(x))

时间:2013-10-18 01:49:32

标签: python

我刚刚开始学习python,当我在搜索http请求发送时在网上找到奇怪的符号。

http响应的主体长度(标题)是用str(len(body))确定的,我发现它很奇怪,因为我的理解是len(str(body))是直观的符号(长度为身体的字符串表示))。

我真的好奇这是关于什么的 - 我在这里没有获得关于python的关键概念吗?

为什么Python使用:

str(len(x))

而不是:

len(str(body))

3 个答案:

答案 0 :(得分:3)

您对符号的理解是正确的;你对正在计算的内容的解释不是。这是计算body的长度(这是一个字符串),然后产生该数字的字符串表示。

答案 1 :(得分:2)

您的理解是正确的。 len(str(body))len(body)相同,因为body(可能)已经是一个字符串。但是,len返回的结果是一个数字(整数)。 Python是动态语言相对类型严格的,而代码需要它作为字符串,所以它称为str

e.g:

>>> body = " This is the body" 
>>> len(body)      #    17
>>> str(len(body)) #    '17'

答案 2 :(得分:1)

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

计算body的长度,然后将其转换为字符串。您将获得一个数字字符串。