gpt4 book ai didi

python - Import as 语句对不同模块的工作方式不同?

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:24 24 4
gpt4 key购买 nike

我正在学习 Python,现在我正在学习 Python 中的 import 语句。我正在测试一些代码,我遇到了一些不寻常的事情。这是我正在测试的代码。

from math import pow as power
import random as x

print(pow(2, 3))
print(power(2, 3))
print(x.randint(0, 5))
print(random.randint(0, 5))

我了解到在 Python 中,您可以使用 as 重新分配模块的名称,因此我将 pow 重新分配给 power。我希望 pow(2, 3)power(2, 3) 输出完全相同的内容,因为我所做的只是更改名称。但是,pow(2, 3) 输出 8,这是一个整数,而 power(2, 3) 输出 8.0,这是一个 float 。这是为什么?

此外,我还引入了random模块,并将其名称设置为x。对于 pow 和 power,旧名称 pow 和新名称 power 都有效。但是对于这个 random 模块,只有新名称 x 有效,旧名称 random 无效。 print(x.randint(0, 5)) 有效,但 random.randint(0, 5) 无效。为什么会这样?

任何人都可以向像我这样的 Python 新手解释为什么我的代码没有按我期望的方式工作吗?如果有帮助,我正在使用 Python 3.62 版。

最佳答案

那是因为当你从 ma​​th 导入 pow 作为 power 然后调用 pow 时,pow 您正在调用的是一个内置 函数,而不是ma​​th 模块中的pow

对于 random,python 中没有内置函数,因此您只需导入 x 即可。

pow 内置函数 documentation

关于python - Import as 语句对不同模块的工作方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45541310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com