国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python 面向對象靜態方法、類方法、屬性方法知識點小結

瀏覽:5日期:2022-08-03 10:31:39

本文實例講述了Python 面向對象靜態方法、類方法、屬性方法知識點。分享給大家供大家參考,具體如下:

(1)靜態方法--》-@staticmethod裝飾類中方法

只是名義上歸類管理, 實際上在靜態方法里訪問不了類或實例中的任何屬性

class Dog(object): def __init__(self,name): self.name = name @staticmethod #實際上跟類沒什么關系了 def eat(self): print('%s is eating %s' %(self.name,’dd’)) def talk(self): print('%s is talking'% self.name)d = Dog('Td')d.eat(d)

(2)類方法-----》 @classmethod裝飾類中方法

只能訪問類變量,不能訪問實例變量

@classmethod def eat(self): print('%s is eating %s' %(self.name,’dd’))

(3)屬性方法----》 @property #attribute裝飾類中方法

把一個方法變成一個靜態屬性

@property #attribute def eat(self): print('%s is eating %s' %(self.name))# 調用Dog('TD').eat

1.需要將一個值傳遞給eat屬性方法-----修改屬性值?

存在的問題是變成屬性了直接賦值是無法實現的,需要在重新相同的方法,同時將該方法加上@eat.setter進行裝飾。

@property #attribute def eat(self): print('%s is eating %s' %(self.name,self.__food)) @eat.setter def eat(self,food): print('set to food:',food) Self.__food=food

2.刪除屬性---同名方法使用 @eat.deleter修飾

@property #attribute def eat(self): print('%s is eating %s' %(self.name,self.__food)) @eat.deleter def eat(self): del self.__food

總結:

1. 通過@staticmethod裝飾器即可把其裝飾的方法變為一個靜態方法,什么是靜態方法呢?其實不難理解,普通的方法,可以在實例化后直接調用,并且在方法里可以通過self.調用實例變量或類變量,但靜態方法是不可以訪問實例變量或類變量的,一個不能訪問實例變量和類變量的方法,其實相當于跟類本身已經沒什么關系了,它與類唯一的關聯就是需要通過類名來調用這個方法。

2. 類方法通過@classmethod裝飾器實現,類方法和普通方法的區別是, 類方法只能訪問類變量,不能訪問實例變量。

3. 屬性方法的作用就是通過@property把一個方法變成一個靜態屬性,調用時與調用屬性的方式相同。

3.1 把一個方法變成靜態屬性的作用:

當某個屬性的值是一系列動作后才得到的結果。所以每次調用時,其實它都要經過一系列的動作才返回結果的,但這些動作過程不需要用戶關心,用戶只關心得到這個屬性的值即可,也就是說用戶只需要調用這個屬性就可以了。

(1)修改屬性值

將由@proerty裝飾器(把一個方法變成一個靜態屬性)使用@proerty.setter裝飾器再裝飾一下,此時 你需要寫一個新方法(同名), 對這個屬性值進行更改。

(2)刪除屬性

#1:將由@proerty裝飾器(把一個方法變成一個靜態屬性)使用@proerty.deleter裝飾器再裝飾一下,此時 你需要寫一個新方法(同名)。

#2:使用del刪除該實例所對應的屬性方法(屬性) 例如:del 對象.屬性

源碼學習地址:https://gitee.com/FelixBinCloud/PythonLearn/commit/bad7a51da107bec6b2b2db697318a6935847d208

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 连州市| 凤翔县| 郎溪县| 庆云县| 监利县| 安仁县| 鹤壁市| 游戏| 龙南县| 澎湖县| 当涂县| 盘山县| 洱源县| 公安县| 靖西县| 丽水市| 方正县| 安康市| 宣化县| 弋阳县| 昌邑市| 柯坪县| 印江| 乃东县| 江安县| 咸宁市| 博罗县| 隆林| 通辽市| 宝应县| 杭锦后旗| 金秀| 锡林郭勒盟| 景谷| 乌拉特后旗| 沙坪坝区| 新野县| 前郭尔| 萨迦县| 县级市| 石城县|