1

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

http 响应的正文(对于标头)的长度是用 确定的str(len(body)),我觉得这很奇怪,因为在我的理解中这len(str(body))是直观的表示法(正文的字符串表示的长度))。

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

为什么 Python 使用:

str(len(x))

代替:

len(str(body))
4

3 回答 3

3

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

于 2013-10-18T01:52:01.247 回答
2

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

例如:

>>> body = " This is the body" 
>>> len(body)      #    17
>>> str(len(body)) #    '17'
于 2013-10-18T01:55:37.837 回答
1

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

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

于 2013-10-18T01:51:54.597 回答