2013-10-18 74 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' 
相關問題