int()和long()

时间:2017-11-12 11:43:08

标签: python python-2.6

python中 int(x) long(x) 有什么区别

我的理解:

  1. long()将始终返回长
  2. int()将返回一个int或long(如果它太大)
  3. so int()足以根据其值
  4. 动态获取int / long

    因此,除非上述(1)(2)(3)不正确,为什么还需要long()?当int()完成工作? 跳过所有数字范围的long()会伤害我吗?

    提到的文档:

    class int(x = 0)

      

    返回一个由数字或字符串x构成的整数对象,或   如果没有给出参数,则返回0。如果x是数字,则可以是a   普通整数,长整数或浮点数。如果x是   浮点,转换截断为零。如果是论点   在整数范围之外,该函数返回一个长对象   代替。

    class long(x = 0)

      

    返回由字符串或数字x构造的长整型对象。如果   参数是一个字符串,它必须包含一个可能签名的数字   任意大小,可能嵌入在空格中。基本参数是   以与int()相同的方式解释,并且只能在x时给出   是一个字符串。否则,参数可以是普通或长整数或   浮点数和具有相同值的长整数   回。将浮点数转换为整数截断   (朝零)。如果没有给出参数,则返回0L。

    代码实验

    number = int(number_string) # cast it to integer
    print number, "\t", type(number)
    
    number = long(number_string) # cast it to long
    print number, "\t", type(number)
    

1 个答案:

答案 0 :(得分:2)

int :整数;相当于Python 2.x中的C long,Python 3.x中的非限制长度

:长度不限的长整数;仅存在于Python 2.x

因此,在 python 3x 中,您可以使用 int(),而无需使用 long()

希望这可以解除你的怀疑吗?