python函式呼叫的時候不帶括號時,呼叫的是這個函式本身

2021-05-27 22:57:09 字數 2946 閱讀 3571

1樓:匿名使用者

不帶括號就是一個變數名,這個名字表示這個函式函式名有什麼用?,

可以當成普通的值用,比如說作為函式的引數

def a(x):

return x

def b(x):

x(3)

print(b(a))   #傳給b的形參x的引數是a,b中x(3)相當於a(3)

python中呼叫函式為什麼可以不加括號 5

2樓:匿名使用者

你這裡bai要是加了括號,那麼返du回的就是fucy函式的zhi返回值。那麼他的dao返回值是多少呢

內?函式沒容傳,那肯定就會typeerror,說沒有引數;那你加引數的話,那閉包還有撒用?

我覺得,加沒加,就是是不是物件的區別

3樓:is誰在看

並不是你說的呼叫函式,#裝飾器# 語法,瞭解一下

為什麼js呼叫函式時,有時不帶括號,有時又帶

4樓:網海1書生

函式呼叫的時候是一定帶括號的(不管有沒有引數)比如說fun1是個函式:

x = fun1()

這是把fun1的執行結果賦值給變數x

如果沒有加括號, 那就肯定不是呼叫,而是把函式本身賦值給另一個物件變數,相當於把自己複製(或者說克隆)出另一個新拷貝。比如

fun2 = fun1

這樣的話,fun2就相當於fun1,呼叫fun2也就相當於呼叫fun1,等於有了兩個完全一樣的函式。

這是因為函式本身也是一個物件,而物件就意味著是可以複製的。

最後總結一下:函式後面帶括號,表示要立即執行這個函式並返回執行結果;函式不帶括號,則代表函式本身這個物件。

python筆記:呼叫函式,帶擴和和不帶括號的區別

5樓:匿名使用者

def cun (a,b):

return a+b

print(cun) : 呼叫函式,列印的是函式print(cun(2,3)),呼叫函式執行後結果,列印的是 5

python呼叫函式帶不帶括號

6樓:晚霞滿天

world together, though

python中關於函式不加括號的問題

7樓:

這樣寫你看下:這是這種寫法無法將x傳到b裡面去def b(y):

return x+y

def a(x):

return b

其實你呼叫a-->列印的是a的內內

存地址容

,a(x)就是呼叫的a方法,返回的是b相當於你直接列印b的記憶體地址一樣,

所以a-->函式a的記憶體地址

a(x) -->呼叫a方法,返回b函式物件相當於-->ba(x)(y)-->b(y)呼叫b方法返回x和y的值,這裡x取的是a方法的引數值,y是b方法的引數值,這點可以理解下引數的作用域

8樓:

python中所有都來是object(物件)。自def b(y)定義了一個函式object。而這個物件是可以呼叫的,即用圓括號加引數列表的方式呼叫。

所以 return b就是將這個物件返回。

a(2)(3)首先呼叫a()這個函式(也是一個物件),生成一個新的函式物件b,功能是返回2+y。

a(2)(3)等價於

x = a(2)

x(3)

9樓:匿名使用者

加括號是函式呼叫,不加括號是個函式變數,相當於c的函式指標

幫忙解釋一個python函式呼叫的問題

10樓:匿名使用者

這個是sub的特殊用法,fn就是呼叫函式,它不用(), 等效於 fn(match物件)。

11樓:風馳電掣

主要是你前面定義函式的時候加了個group()

python呼叫函式時,為什麼不執行函式

12樓:匿名使用者

test();//後邊加個括bai號

*************************這種語法上也

du並沒有說確確的錯zhi誤!

dao不同的編譯會有所

回不同,一般會提示...

不過答大多編譯會把它當成申明給跳過了,因為你沒加括號,並沒呼叫函式(編譯時大多也會提示一下的)

python呼叫函式問題?

13樓:一顆程式猿

content是個response物件的屬性copy (有點類似變數), 而decode是bytes的一個方法

方法在使用(呼叫/執行)的時候是需要加括號的, 如果不加括號就會返回這個方法本身(類似函式指標), 而變數/成員欄位/屬性是不能加括號的(除非它實現了__call__()方法)

14樓:陽光的雷咩咩

加和不加都是有文件的,並不是憑空想象的,也就是說你需要看別人庫的文件甚至原始碼,才知道究竟加不加

加的定義的時候是函式,不加的定義的時候是屬性/欄位

15樓:不要廣告真的

就像tkinter(python的gui庫),bai你說函式加括號du,它可以加zhi,dao用lambda,預設不加,因為這是一個引數,

專就像:屬

def do(***mand):

--***mand("hello")

這時候,呼叫do函式是不加參的:

do(print)

如果用lambda:

do(lambda a:print("hello everybody!"))

就不是顯示hello而是hello everybody!了

關於python呼叫函式問題,python中關於函式呼叫的問題提

蛋疼的公司網路bai,看不到 du首先確認下是否import成功zhi了dao比如你importknn那你呼叫的時候專要寫knn.classify0不然就寫fromknnimport 然後 屬就可以直接呼叫了 預設你放在同個目錄下 python中關於函式呼叫的問題提 10 def add pram1...

python如何呼叫 py檔案的函式

python 如何在某.py檔案bai中呼叫其他.py內的du函式 假設名為zhia.py的檔案需dao python如何呼叫另一個py檔案的所有函式 在同一個資料夾下 呼叫函式 a.py檔案 b.py檔案 或呼叫類 a.py檔案 b.py檔案 或在不同資料夾下 a.py檔案的檔案路徑 e pyth...

python函式定義必須在呼叫前面嗎

不能,python是解釋性的,必須先定義後呼叫只能這樣deftest return test printtest python 函式定義必須在呼叫前面嗎 不能,python是解釋性的,必須先定義後呼叫只能這樣 def test return test print test python 函式必須寫在...