来自导入函数调用的函数的奇怪输出

时间:2014-03-30 19:51:53

标签: python function random import

我这里有这个代码:

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

打印出来:

function AI at 0x0000000003527378

而不是rockpaperscissor

当我在shell中或函数外部执行此操作时,它会返回并正常打印,但不会在函数中打印。我是Python的新手,所以这对我来说非常困惑。感谢

1 个答案:

答案 0 :(得分:0)

您需要将()放在其后面来调用该函数:

print(AI())

参见下面的演示:

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

此外,无需在random.choice(choices)中包裹str。以下代码可以正常工作:

return random.choice(choices)