av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:關于pythonproperty用法操作詳解

最近小編一直在看有關python從基礎到常見的各類方法與函數,然后碰到有關property的使用,于是自己整理了一番,有需要的小伙伴可以來看下啦~

property語法

property(fget=None, fset=None, fdel=None, doc=None)

fget是一個獲取屬性值的函數,fset是一個設置屬性值的函數,fdel是一個刪除屬性的函數,doc是一個字符串(類似于注釋)

class Student:
 def __init__(self,score):
 self._score = score
 def get_score(self):
 return self._score
 
 def set_score(self,value):
 self._score = value
 
 score = property(get_score,set_score)

也可以使用另外一種方法:通過裝飾器的形式

@property裝飾器就是負責把一個方法變成屬性調用,通常用在屬性的get方法和set方法,通過設置@property可以實現實例成員變量的直接訪問,又保留了參數的檢查。另外通過設置get方法而不定義set方法可以實現成員變量的只讀屬性。

 把一個getter方法變成屬性,只需要加上@property就可以了,此時,@property本身又創(chuàng)建了另一個裝飾器@score.setter,把一個setter方法變成屬性賦值,于是,我們就擁有一個可控的屬性操作,

實際操作中,使用裝飾器的方式更加方便簡潔,所有推薦使用這種方式

class Student(object):
 def __init__(self,score):
 self._score = score
 @property
 def score(self):
 return self._score
 @score.setter
 def score(self, value):
 self._score = value

可以直接以調用屬性的方式調用方法

s = Student()
s.score #獲取score屬性值
s.score = 88 #設置屬性score的值為88

為什么property具有如此的魔力?

property是一種描述符,被@property修飾的成員函數,將變?yōu)橐粋€描述符。

class Foo:
 @property
 def get_x(self):
 print('getting value')
 return 'x_value'
 def get_y(self):
 pass
 foo=Foo()
 
type(Foo.get_x)
type(Foo.get_y)

為什么使用property,我們通過函數也可以?。窟@有什么用呢?

最常見的,在web開發(fā)時,設置用戶模型,需要對用戶設定的密碼進行加密處理,都會用到property。

希望大家可以熟練掌握property,有助于代碼編程哦~如需了解更多python實用知識,點擊進入PyThon學習網教學中心。


網頁題目:創(chuàng)新互聯(lián)Python教程:關于pythonproperty用法操作詳解
文章URL:http://uogjgqi.cn/article/copjegs.html
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流