簡體   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