0

我有一个像

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 回答