免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

python基礎(chǔ)特性之函數(shù)property-創(chuàng)新互聯(lián)

函數(shù)property

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括林州網(wǎng)站建設(shè)、林州網(wǎng)站制作、林州網(wǎng)頁制作以及林州網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,林州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到林州省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1.為了保護屬性,不讓它隨意的被更改(a.width=xxx)(起碼,要符合某些條件),所以我們引入了set和get方法,雖然這個需要自定義(如下圖的set_size,get_size方法)。

>>> class Rectangle:

... def __init__(self):

... self.width=0

... self.height=0

... def set_size(self,size):

... self.width,self.height=size

... def get_size(self):

... return self.width,self.height

...

>>> r=Rectangle()

>>> r.width=10

>>> r.height=5

>>> r.get_size()

(10, 5)

>>> r.set_size((150,100))

#注意:

#r.set_size((150,100))即:

#self.width,self.height=(150,100)或150,100 即:

#self.width=150,self.height=100

>>> r.width

150

>>> r.height

100

2.但是這樣設(shè)置和取得屬性值(這里指size的值)太麻煩了,如果要設(shè)置和取得多個屬性的值,要使用非常多次的set和get方法,所以,這里,我們將set和get方法封裝起來,讓用戶像width和height一樣快速賦值和訪問。

>>> class Rectangle:

... def __init__(self):

... self.width=0

... self.height=0

... def set_size(self,size):

... self.width,self.height=size

... def get_size(self):

... return self.width,self.height

#使用property函數(shù),將size的get和set方法都封裝到size這個變量中

... size=property(get_size,set_size)

...

>>> r=Rectangle()

>>> r.width=10

>>> r.height=5

>>> r.size #快速訪問size,取得size的值,無需關(guān)心size內(nèi)部的獲取值的函數(shù)細節(jié)

(10, 5)

>>> r.size=150,100

>>> r.width

150

>>> r.size=(100,50) #快速設(shè)置size的值,無需關(guān)心size內(nèi)部的設(shè)置值的函數(shù)細節(jié)

>>> r.width

100

>>> r.height

50

Tips——關(guān)于property的參數(shù)問題:

class property([get[, set[, del[, doc]]]])

#注:

# 1.get -- 獲取屬性值的函數(shù)

# 2.set -- 設(shè)置屬性值的函數(shù)

# 3.del -- 刪除屬性值函數(shù)

# 4.doc -- 屬性描述信息

沒有傳遞任何參數(shù)的時候,如:size=property(),則創(chuàng)建的特性size將既不可讀也不可寫。

只傳遞一個參數(shù)的時候,如:size=property(get_size),則創(chuàng)建的特性size將是只讀的。

傳遞三個參數(shù),即傳遞set、get和del。

傳遞四個參數(shù),即傳遞set、get、del和doc(文檔字符串,用于描述屬性,直接傳入信息的內(nèi)容string即可)。如:

size = property(get, set, del, "I'm the 'x' property.")

靜態(tài)方法和類方法鄭州人流多少錢 http://mobile.zyyyzz.com/

>>> class MyClass:

... def meth():

... print("This is a common method")

# 創(chuàng)建靜態(tài)方法

# 方法一:手工替換

... def smeth():

... print("This is a static method")

... smeth=staticmethod(smeth)

# 方法二:使用修飾器

... # @staticmethod

... # def smeth():

... # print("This is a static method")

# 創(chuàng)建類方法

# 方法一:手工替換

... def cmeth(cls):

... print("This is a class method")

... cmeth=classmethod(cmeth)

# 方法二:使用修飾器

... # @classmethod

... # def cmeth(cls):

... # print("This is a class method")

...

#通過類直接訪問方法

>>> MyClass.meth()

This is a common method

>>> MyClass.smeth()

This is a static method

>>> MyClass.cmeth()

This is a class method

#通過類實例訪問方法

>>> myclass=MyClass()

>>> myclass.meth() #實例myclass會將自身作為一個參數(shù)傳遞給meth方法,而meth方法并沒有為它定義參數(shù)self,從而導(dǎo)致異常

Traceback (most recent call last):

File "", line 1, in

TypeError: meth() takes 0 positional arguments but 1 was given

>>> myclass.smeth()

This is a static method

>>> myclass.cmeth()

This is a class method

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:python基礎(chǔ)特性之函數(shù)property-創(chuàng)新互聯(lián)
鏈接分享:http://m.newbst.com/article24/dcesje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計標簽優(yōu)化、網(wǎng)站設(shè)計公司、企業(yè)建站、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)

廣告

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

小程序開發(fā)