我刚开始学习 python,当我在网上搜索 http 请求发送时遇到了奇怪的符号。
http 响应的正文(对于标头)的长度是用 确定的str(len(body))
,我觉得这很奇怪,因为在我的理解中这len(str(body))
是直观的表示法(正文的字符串表示的长度))。
我真的很好奇这是关于什么的——我在这里没有得到 python 的关键概念吗?
为什么 Python 使用:
str(len(x))
代替:
len(str(body))
我刚开始学习 python,当我在网上搜索 http 请求发送时遇到了奇怪的符号。
http 响应的正文(对于标头)的长度是用 确定的str(len(body))
,我觉得这很奇怪,因为在我的理解中这len(str(body))
是直观的表示法(正文的字符串表示的长度))。
我真的很好奇这是关于什么的——我在这里没有得到 python 的关键概念吗?
为什么 Python 使用:
str(len(x))
代替:
len(str(body))
您对符号的理解是正确的;您对正在计算的内容的解释不是。这是计算 body 的长度(它是一个字符串),然后产生该数字的字符串表示形式。
你的理解是正确的。 len(str(body))
将与 just 相同len(body)
,因为body
(可能)已经是一个字符串。但是,返回的结果len
是一个数字(整数)。Python 在动态语言中是相对类型严格的,代码需要它作为字符串而不是,所以它称为str
.
例如:
>>> body = " This is the body"
>>> len(body) # 17
>>> str(len(body)) # '17'
不,你理解正确。它的行为类似于 Java、C 或大多数其他语言。
这是计算长度body
然后将其转换为字符串。你会得到一个数字字符串。