日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python预定义_【Python】python类中方法的预定义

發(fā)布時(shí)間:2025/3/11 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python预定义_【Python】python类中方法的预定义 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

知乎問題:

像這個(gè)圖片里面顯示的,self.prediction首先聲明了下然后下面給出了定義,然后optimize又調(diào)用這個(gè)函數(shù)但是沒有用self.prediction()這樣的方式而是像用變量一樣直接用self.prediction,,像請(qǐng)教一下這是什么操作?

知乎回答:

python中變量和函數(shù)都不需要提前聲明,函數(shù)直接定義就可以了。這里提前聲明不知道是寫的人習(xí)慣了其它語言,還是為了可讀性。

在python中一切皆對(duì)象,函數(shù)也不例外。因此可以將函數(shù)綁定到變量上或者傳遞,使用時(shí)后面加上()就可以調(diào)用。

在下面的方法中self.prediction后面沒有加(),但是又把它和一個(gè)浮點(diǎn)數(shù)相加,說明此時(shí)它的值是一個(gè)數(shù)字。如果是平常的寫法,函數(shù)對(duì)象不可能與數(shù)字相加。

我推測(cè)關(guān)鍵處在prediction定義時(shí)的裝飾器,它可能有類似于property裝飾器的作用,將self.prediction轉(zhuǎn)化成了一個(gè)屬性,這樣不需要加()也可以返回值了。

答者補(bǔ)充:

因?yàn)镻ython語言的動(dòng)態(tài)性,在寫代碼時(shí),代碼檢查工具可能認(rèn)為self沒有這樣的屬性,這時(shí)你預(yù)先聲明了,它就不會(huì)報(bào)錯(cuò)。

作者:松直

python修飾器

要理解python的裝飾器,我們首先必須明白在Python中函數(shù)也是被視為對(duì)象。函數(shù)既然作為一個(gè)對(duì)象,因此:

1. 其可以被賦給其他變量

2. 其可以被定義在另外一個(gè)函數(shù)內(nèi)

3. 作為參數(shù)傳遞給函數(shù)

其實(shí)它可被視為封裝器。也就是說,它能夠讓你在裝飾前后執(zhí)行代碼而無須改變函數(shù)本身內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的python预定义_【Python】python类中方法的预定义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。