2013-01-20 25 views
0

我有一個像試圖乘從Django的URL值

r'^(?P<num>)\d+)$ 

一個URL,我試圖做類似

kwargs['num']*3 

,當NUM = 2是給我一個奇怪號碼像222222222 ...

然而,如果我嘗試int(kwargs ['num'])* 3那麼按預期工作。

任何人都可以解釋發生了什麼?

回答

4

該值不是一個整數,而是一個字符串。首先將其轉換:

int(kwargs['num']) * 3 

乘以Python字符串意味着你要重複一遍:

>>> 'Hello ' * 3 
'Hello Hello Hello ' 

的URL正則表達式匹配的數字,但是,這並不自動神奇轉動產生的價值爲整數。