python的類中乙個函式名先宣告時什麼用法,為何self prediction,呼叫的時候沒有括號?

時間 2021-06-07 17:37:26

1樓:

python中變數和函式都不需要提前宣告,函式直接定義就可以了。這裡提前宣告不知道是寫的人習慣了其它語言,還是為了可讀性。在python中一切皆物件,函式也不例外。

因此可以將函式繫結到變數上或者傳遞,使用時後面加上()就可以呼叫。在下面的方法中self.prediction後面沒有加(),但是又把它和乙個浮點數相加,說明此時它的值是乙個數字。

如果是平常的寫法,函式物件不可能與數字相加,我推測關鍵處在prediction定義時的裝飾器,它可能有類似於property裝飾器的作用,將self.prediction轉化成了乙個屬性,這樣不需要加()也可以返回值了。

2樓:以何

o={}

type(o

.get)#

'builtin_function_or_method'

>函式也是類的乙個屬性

只是它的型別是方法

是可呼叫的(使用一對括號)

其他普通屬性是不可呼叫的(比如字串、列表)所以這裡傳遞的是引用

別的地方拿到這個引用就可以呼叫這個函式

Python如何呼叫另乙個py獲取函式名稱?

Python蕭邦 from HelloWorld import Hello h Hello h.hello Hello,world 輸出結果 HelloWorld.py檔案內容 class Hello object def hello self,name world print Hellp,s na...

c 中乙個只有有參建構函式的類怎麼做為函式的形參?

GarfieldKwong 你編譯錯誤的原因其他答主已經說清楚了,就是DepthFirstSearch裡的成員Graph g導致的。DepthFirstSearch的建構函式沒有顯示初始化Graph g,編譯器預設呼叫Gragh 良好的是類的建構函式裡每個成員變數都要顯示初始化。其實編譯器裡Dept...

Python 裡為什麼函式可以返回乙個函式內部定義的函式?

鋼鐵直男劉昊然 自界說函式的呼叫是經過訪問自界說函式名來完成的,變數 函式名 參量1,參量2,明顯,與呼叫子程式的辦法不同,自界說函式的呼叫遵從內部函式 如Sin Sqr Tan等 的呼叫規矩,自帶參量也有必要用圓括號括起來。參量可所以常量 變數 表示式或陣列變數名。資料的型別應與子程式界說時的參量...