【发布时间】:2017-12-13 21:50:29
【问题描述】:
很抱歉这个非常愚蠢的问题。我是 python 的自学初学者,在使用和调用函数时遇到问题。我来自 MATLAB 背景,所以我正在尝试做类似的事情。
使用的工具:Linux 环境中的 Python 2
作为测试,我在一个名为 prthis.py 的文件中创建了一个名为 prthis(用于“打印此”)的函数。这个函数只是将一个数字作为输入,然后输出两个数字,分别是同一个数字和它的平方。我是这样定义的:
#----------------------------------------
# content of the file prthis.py
#----------------------------------------
def prthis(x):
y=x*x
nb=x
return (y, nb)
#------------------------------------------
然后,在 python 提示符下,我尝试调用新创建的 prthis 函数,我这样做:
>>> import prthis
>>> g,t = prthis(7)
导入似乎成功,但是当我在两个名为 g 和 t 的输出变量上尝试该函数时,如上所示,我收到以下错误消息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
也许我的想法过于 MATLAB 化了。有人对如何处理这个问题有建议吗?
PS:这是我在 stackexchange 上的第一个问题,所以请告诉我如何感谢/接受其他用户的宝贵答案?我不想在那些愿意提供帮助的人面前显得忘恩负义。
【问题讨论】:
-
当你使用
import [module]时,调用它的函数时你仍然需要使用模块的名字——试试g,t = prthis.prthis(7) -
您正在尝试调用 模块。你需要做
prthis.prthis(7)或而不是做import prthis,做from prthis import prthis -
这是accepting answers的指南
-
如果您将函数命名为其他名称,例如
printthis,您可以通过prthis.printthis(7)或from prthis import printthis调用它。如果选择第二种方式,则只能使用prthis.py中的函数printhis,不会导入其他函数或类。
标签: python