You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用numpy计算9的19次方报错:AttributeError: module 'numpy' has no attribute 'long'

解决numpy 1.24.3中AttributeError: module 'numpy' has no attribute 'long'的问题

问题原因

numpy 1.20及以上版本已移除np.long这个旧类型别名——它原本对应平台相关的长整数类型(通常是np.int64),因此调用np.long()会触发属性不存在的错误。

解决方案

方案1:直接用Python原生整数计算

9的19次方结果在Python原生整数的范围内,无需依赖numpy即可直接算出精确值:

result = 9**19
print(result)  # 输出:1350851717672992089

方案2:使用numpy标准整数类型替代np.long

如果需要numpy类型的结果,可使用np.int64(固定64位整数)或np.int_(平台相关的长整数类型,对应原np.long的功能):

import numpy as np
# 用np.int64
np.int64(9**19)
# 或用np.int_
np.int_(9**19)

方案3:用numpy幂函数直接计算

直接通过numpy的power函数计算并指定类型,避免先计算Python整数再转换:

import numpy as np
np.power(9, 19, dtype=np.int64)

内容的提问来源于stack exchange,提问作者Talha Tayyab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:42:34