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