繁体   English   中英

关于将变量分配给 function 的基本问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM