[英]basic question about assigning a variable to a function
假设我想从模块 func.py 导入并使用 function func1 作为变量 f。 我想使用一个短名称 f 这样我就不必每次使用它时都写 func.func1 。
模块 func.py 是
def func1(n):
print(n+1)
我想导入 func
import func
f = func.func1()
为什么它在()中显示错误为“func1缺少1个所需的位置参数n”?
import func
f = func.func1
虽然这没有显示错误?
func.func1 和 func.func1() 有什么区别?
当您执行f = func.func1()
时,您正在尝试调用func1
并将其返回值绑定到f
。 这不是您想要的,并且它不起作用,因为func1
期望在调用它时给出一个参数。 但是,当您将()
放在末尾时,Python 会看到您进行 function 调用。
当您离开()
时,不会进行任何调用,您只是将 function 绑定到一个新名称。 正如评论中提到的,您可以在与 import 语句相同的步骤中执行此操作,使用from func import func1 as f
。
这是一个快速的答案。 当您执行 f = func.func1() 时,您需要将一个变量传递给 func1(var)。 在您的模块中,它包含一个名为 n 的变量。 N是用来加一的吗? 因此,当您调用模块时,您还需要给它 n 或任何其他变量,但要确保它是一个 int。 :
n = 10
f = func.func1(n)
现在它应该可以正常工作了。 您所要做的就是在括号内传递一个变量,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.