我从url获取的值为:
user_data = {}
if (request.args.get('title')) :
user_data['title'] =request.args.get('title')
if(request.args.get('limit')) :
user_data['limit'] = request.args.get('limit')
然后把它当作
if 'limit' in user_data :
limit = user_data['limit']
conditions['id'] = {'id':1}
int(limit)
print type(limit)
data = db.entry.find(conditions).limit(limit)
它打印:<type 'unicode'>
但是我一直把type
的limit
作为unicode
,这会引起查询错误!!我正在将unicode转换为int,但为什么不转换呢??
请帮忙!!!
int(limit)
返回转换为整数的值,并且不会在调用函数时就地更改它(这正是您所期望的)。请改为:
或者在定义
limit
时:在python中,整数和字符串分别是immutable和passed by value。不能将字符串或整数传递给函数并期望修改参数。
因此,要将字符串
limit="100"
转换为数字,需要如果你真的想绕过它,你可以使用一个列表。列表在python中是可变的;传递列表时,传递的是它的引用,而不是复制。所以你可以:
但你不应该真的需要它。(有时当您使用递归并需要传递一些可变状态时)。
相关问题 更多 >
编程相关推荐