欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python3靜態(tài)函數(shù) python3定義函數(shù)

python3 靜態(tài)方法和類(lèi)方法的區(qū)別

python中,方法分為三類(lèi)實(shí)例方法、類(lèi)方法、靜態(tài)方法。代碼如下:

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),涼州企業(yè)網(wǎng)站建設(shè),涼州品牌網(wǎng)站建設(shè),網(wǎng)站定制,涼州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,涼州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

class Test(object):

def InstanceFun(self):

print("InstanceFun");

print(self);

@classmethod

def ClassFun(cls):

print("ClassFun");

print(cls);

@staticmethod

def StaticFun():

print("StaticFun");

t = Test(); 

t.InstanceFun();# 輸出InstanceFun,打印對(duì)象內(nèi)存地址“__main__.Test object at 0x0293DCF0”

Test.ClassFun(); # 輸出ClassFun,打印類(lèi)位置 class '__main__.Test'

Test.StaticFun(); # 輸出StaticFun

t.StaticFun(); # 輸出StaticFun

t.ClassFun(); # 輸出ClassFun,打印類(lèi)位置 class '__main__.Test'

Test.InstanceFun(); # 錯(cuò)誤,TypeError: unbound method instanceFun() must be called with Test instance as first argument

Test.InstanceFun(t); # 輸出InstanceFun,打印對(duì)象內(nèi)存地址“__main__.Test object at 0x0293DCF0”

t.ClassFun(Test); # 錯(cuò)誤 classFun() takes exactly 1 argument (2 given)

python3?中定義類(lèi)函數(shù)參數(shù)中加?self?和不加的區(qū)別在哪

class

A:

def

fun():

pass

#

這種就是靜態(tài)函數(shù),一般用裝飾器

@staticmethod

修飾

class

B:

def

fun1(self):

pass

#

這種就是成員函數(shù),類(lèi)實(shí)例可以直接調(diào)用

@classmethod

def

fun():

pass

#

這種是類(lèi)函數(shù),要求第一個(gè)參數(shù)表示類(lèi)(

cls

)。

python 為什么要使用靜態(tài)方法

Python使用靜態(tài)方法類(lèi)似函數(shù)工具使用,一般盡量少用靜態(tài)方法。

Python的靜態(tài)方法和類(lèi)成員方法都可以被類(lèi)或?qū)嵗L問(wèn),兩者概念不容易理清,但還是有區(qū)別的:

1)靜態(tài)方法無(wú)需傳入self參數(shù),類(lèi)成員方法需傳入代表本類(lèi)的cls參數(shù);

2)從第1條,靜態(tài)方法是無(wú)法訪問(wèn)實(shí)例變量的,而類(lèi)成員方法也同樣無(wú)法訪問(wèn)實(shí)例變量,但可以訪問(wèn)類(lèi)變量;

3)靜態(tài)方法有點(diǎn)像函數(shù)工具庫(kù)的作用,而類(lèi)成員方法則更接近類(lèi)似Java面向?qū)ο蟾拍钪械撵o態(tài)方法。

3種python3的canny邊緣檢測(cè)之靜態(tài),可調(diào)節(jié)和自適應(yīng)

先看高級(jí)版的python3的canny的自適應(yīng)邊緣檢測(cè):

內(nèi)容:

1 canny的邊緣檢測(cè)的介紹。

2 三種方法的canny的邊緣檢測(cè),由淺入深地介紹:固定值的靜態(tài),可自調(diào)節(jié)的,自適應(yīng)的。

說(shuō)明:

1 環(huán)境:python3.8、opencv4.5.3和matplotlib3.4.3。

2 圖片:來(lái)自品閱網(wǎng)正版免費(fèi)圖庫(kù)。

3 實(shí)現(xiàn)自適應(yīng)閾值的canny邊緣檢測(cè)的參考代碼和文章:

上述的代碼,本機(jī)均有報(bào)錯(cuò),故對(duì)代碼進(jìn)行修改,注釋和運(yùn)行。

初級(jí)canny:

1 介紹:opencv中給出了canny邊緣檢測(cè)的接口,直接調(diào)用:

即可得到邊緣檢測(cè)的結(jié)果ret,其中,t1,t2是需要人為設(shè)置的閾值。

2 python的opencv的一行代碼即可實(shí)現(xiàn)邊緣檢測(cè)。

3 Canny函數(shù)及使用:

4 Canny邊緣檢測(cè)流程:

去噪 -- 梯度 -- 非極大值抑制 -- 滯后閾值

5 代碼:

6 操作和過(guò)程:

7 原圖:

8 疑問(wèn):

ret = cv2.canny(img,t1,t2),其中,t1,t2是需要人為設(shè)置的閾值,一般人怎么知道具體數(shù)值是多少,才是最佳的呀?所以,這是它的缺點(diǎn)。

中級(jí)canny:

1 中級(jí)canny,就是可調(diào)節(jié)的閾值,找到最佳的canny邊緣檢測(cè)效果。

2 采用cv2.createTrackbar來(lái)調(diào)節(jié)閾值。

3 代碼:

4 操作和效果:

5 原圖:

高級(jí)canny:

1 自適應(yīng)canny的算法:

ret = cv2.canny(img,t1,t2)

即算法在運(yùn)行過(guò)程中能夠自適應(yīng)地找到較佳的分割閾值t1,t2。

2 文件結(jié)構(gòu):

3 main.py代碼:

4 dog.py代碼:

5 bilateralfilt.py代碼:

6 原圖:

7 效果圖:本文第一個(gè)gif圖,此處省略。

小結(jié):

1 本文由淺入深,總結(jié)的很好,適合收藏。

2 對(duì)于理解python的opencv的canny的邊緣檢測(cè),很有幫助。

3 本文高級(jí)版canny自適應(yīng)的算法參考2篇文章,雖然我進(jìn)行代碼的刪除,注釋?zhuān)薷模瑑?yōu)化等操作,故我不標(biāo)注原創(chuàng),對(duì)原作者表達(dá)敬意。

4 自己總結(jié)和整理,分享出來(lái),希望對(duì)大家有幫助。

當(dāng)前文章:python3靜態(tài)函數(shù) python3定義函數(shù)
標(biāo)題URL:http://www.chinadenli.net/article8/dooepip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)網(wǎng)站排名微信小程序標(biāo)簽優(yōu)化品牌網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)