【问题标题】:Tweepy user_id and trailing LTweepy user_id 和尾随 L
【发布时间】:2016-07-01 19:31:18
【问题描述】:

我有一个关注者列表,我想关注。我遇到的一个问题是 user_id 似乎必须是一个 int,而不是一个字符串,并且不能有尾随 L。我有一些大数字作为 id。例如

user_id = 900000000000000L 

我尝试使用一些建议进行更改,例如

format(user_id, 'd')

但它返回一个字符串。

我看了:

Python Trailing L Problem

但是十六进制对我来说不是一个选项。我在 C 中理解在某个点之后无法表达 int,并且您需要 long 或 double long。但是有没有办法覆盖python中的L?

【问题讨论】:

    标签: python int long-integer tweepy


    【解决方案1】:

    900000000000000Llong 类型,它是一个类似 int 的类。当整数太大而无法表示时,会自动转换为长整数...例如:

    >>> import sys
    >>> sys.maxint
    9223372036854775807
    >>> sys.maxint + 1
    9223372036854775808L
    

    大多数时候,intlong 可以互换使用,您不必担心。但是,如果 long 整数确实是个问题,对于足够小的数字,您可能只需调用 int 就可以了:

    >>> user_id = 900000000000000L
    >>> int(user_id)
    900000000000000
    

    但如果数字大于sys.maxint,您需要弄清楚如何使这些数字变小,因为无法再将它们表示为int1。 ..

    >>> int(sys.maxint + 1)  # still a long.
    9223372036854775808L
    

    1双关语

    【讨论】:

    • 所以基本上我坚持使用一个需要 int 大于 sys.maxint 的 int 的 api 程序?
    • 只是在此处添加此评论以供将来的用户使用。 Python 2. 有这个问题,但是我被告知它在 Python 3 中发生了变化。
    • @user2723240 -- 嗯......有点。在 python3 中,intlong 之间没有区别。但是,如果您的 API 期望 int 在适当的范围内,您仍然可能会遇到麻烦......
    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 2018-01-08
    • 2019-10-13
    • 2023-01-30
    • 1970-01-01
    • 2012-08-20
    • 2019-11-09
    • 1970-01-01
    相关资源
    最近更新 更多