我有一个粉丝列表,我想跟随。我遇到的一个问题是,似乎user_id必须是一个int,而不是一个字符串,并且不能有尾随L.我有一些大数字作为id。例如
user_id = 900000000000000L
我尝试使用像
这样的一些建议进行更改format(user_id, 'd')
但它返回一个字符串。
我看了看:
但是十六进制对我来说不是一个选择。我理解在C之后某个点无法表达int,并且你需要长或双长。但是有没有办法在python中覆盖L?
答案 0 :(得分:3)
900000000000000L
的类型为long
,类似于类。当整数变得太大而无法表示时,会自动转换为long ...例如:
>>> import sys
>>> sys.maxint
9223372036854775807
>>> sys.maxint + 1
9223372036854775808L
大多数情况下,int
和long
可以互换使用,您不必担心它。但是,如果long
整数确实存在问题,那么对于足够小的数字,您可以在其上调用int
:
>>> user_id = 900000000000000L
>>> int(user_id)
900000000000000
但如果数字大于sys.maxint
,您需要弄清楚如何将这些数字设置得更小,因为它们不能再将它们表示为int
1 ...
>>> int(sys.maxint + 1) # still a long.
9223372036854775808L
1 双关语