从导入函数调用的函数的奇怪输出

2024-04-16 21:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我这里有这个代码:

import random
def AI():
    choices = ["rock","paper","scissor"]
    return str(random.choice(choices))
print(AI)

打印出:

function AI at 0x0000000003527378

而不是rockpaperscissor

当我在shell或函数外部执行时,它会正常返回并打印,但不会在函数中执行。我是Python新手,所以这让我很困惑。谢谢


Tags: 函数代码importreturndeffunctionrandomai
1条回答
网友
1楼 · 发布于 2024-04-16 21:35:03

您需要通过在函数后面放置()来调用该函数:

print(AI())

请参见下面的演示:

>>> import random
>>> def AI():
...     choices = ["rock","paper","scissor"]
...     return str(random.choice(choices))
...
>>> print(AI)
<function AI at 0x0236CFA8>
>>> print(AI())
rock
>>>

此外,在str中包装random.choice(choices)是不必要的。下面的代码可以正常工作:

return random.choice(choices)

相关问题 更多 >