名称错误: 全局名称'long'未定义。

79

我有一台Python 3.3.0的版本,但不确定为什么它不允许我在这里使用long类型的变量b和m...

我尝试在这里查找答案,但无济于事...谢谢

我收到了一个错误提示。

NameError: global name 'long' is not defined


power = long(b) % long(m)

6
没有更多的“long”类型了,请放手(顺便说一句,现在的替代类型是“int”)。 - JBernardo
1
你为什么要一开始就尝试转换为“long”?你只使用整数调用函数,如果“m”是一个整数,那么“b%m”不可能太大而无法适应“int”。此外,即使它确实太大,在2.x中,任何两个“int”值的操作如果超出了“int”的范围,也会返回一个“long”,因此提前转换没有任何好处。 - abarnert
1个回答

149

在Python 3.x中,应使用int代替long

根据Python 3.0的更新内容,整数(Integers):

  • PEP 237: 实质上,将long重命名为int。也就是说,只有一个内置的整数类型,命名为int;但它的行为基本上类似于旧版的long类型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接