0

私は次のようなURLを持っています

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

そして、私は次のようなことをしようとしています

kwargs['num']*3

これは、num=2 が 222222222 のような奇妙な数字を私に与えているとき...

ただし、 int(kwargs['num'])*3 を試すと、期待どおりに機能します。

誰が何が起こっているのか説明できますか?

4

1 に答える 1

4

値は整数ではなく文字列です。最初に変換します。

int(kwargs['num']) * 3

Python 文字列を乗算することは、それを繰り返したいことを意味します。

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

URL の正規表現は数字に一致しますが、結果の値が魔法のように自動的に整数に変わるわけではありません。

于 2013-01-20T21:15:39.043 に答える