我刚刚开始学习python,当我在搜索http请求发送时在网上找到奇怪的符号。
http响应的主体长度(标题)是用str(len(body))
确定的,我发现它很奇怪,因为我的理解是len(str(body))
是直观的符号(长度为身体的字符串表示))。
我真的好奇这是关于什么的 - 我在这里没有获得关于python的关键概念吗?
为什么Python使用:
str(len(x))
而不是:
len(str(body))
答案 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
的长度,然后将其转换为字符串。您将获得一个数字字符串。