Python-3 中的 Long 类型,NameError: name 'long' is not defined

新手上路,请多包涵

我是 python 的新手。我的要求之一是处理长值。问题是我不知道如何分配长值。这个问题可能很愚蠢。但我刚刚开始学习这门语言。我有看到一个博客,我尝试了这样的事情:

 # Long program in Python
x=1
y = long(x)
print(type(y))

但是我收到这样的错误:

 Traceback (most recent call last):
File "main.py", line 4, in <module>
y = long(x)
NameError: name 'long' is not defined

谁能帮我实现这个目标?

原文由 Deepak Ramakrishnan Kalidass 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
1 个回答

Python 3 不再支持 long() 函数(无双关语意)。它只有一个内置的整数类型,名为 int ;但它的行为主要类似于旧的 long 类型。所以你只需要使用 int() python-3.x 中的内置函数。

此外,有关更多信息,请 integer 输入 python-3.x:

  • PEP 0237 :本质上,long 重命名为 int。也就是说,只有一种内置整型,名为int;但它的行为大多像旧的 long 类型。

  • PEP 0238 :像 1/2 这样的表达式返回一个浮点数。使用 1//2 获取截断行为。 (后一种语法已经存在多年,至少从 Python 2.2 开始是这样。)

  • sys.maxint 常量被移除,因为整数的值不再有限制。但是, sys.maxsize 可以用作大于任何实际列表或字符串索引的整数。它符合实现的“自然”整数大小,通常与同一平台上先前版本中的 sys.maxint 相同(假设构建选项相同)。

  • 长整数的 repr() L ,因此无条件剥离该字符的代码将截断最后一位数字。 (使用 str() 代替。)

  • 八进制文字不再是 0720 形式;使用 0o720 代替。

原文由 Mazdak 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题