最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 面向?qū)ο箪o態(tài)方法、類方法、屬性方法知識(shí)點(diǎn)小結(jié)

 更新時(shí)間:2020年03月09日 10:45:00   作者:WFaceBoss  
這篇文章主要介紹了Python 面向?qū)ο箪o態(tài)方法、類方法、屬性方法,總結(jié)分析了Python 面向?qū)ο蟪绦蛟O(shè)計(jì)中靜態(tài)方法、類方法、屬性方法相關(guān)概念、知識(shí)點(diǎn)、操作技巧與使用注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python 面向?qū)ο箪o態(tài)方法、類方法、屬性方法知識(shí)點(diǎn)。分享給大家供大家參考,具體如下:

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

只是名義上歸類管理, 實(shí)際上在靜態(tài)方法里訪問不了類或?qū)嵗械娜魏螌傩?/p>

class Dog(object):
  def __init__(self,name):
    self.name = name
  @staticmethod #實(shí)際上跟類沒什么關(guān)系了
  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裝飾類中方法

只能訪問類變量,不能訪問實(shí)例變量

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

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

把一個(gè)方法變成一個(gè)靜態(tài)屬性

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

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

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

  @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

總結(jié):

1. 通過@staticmethod裝飾器即可把其裝飾的方法變?yōu)橐粋€(gè)靜態(tài)方法,什么是靜態(tài)方法呢?其實(shí)不難理解,普通的方法,可以在實(shí)例化后直接調(diào)用,并且在方法里可以通過self.調(diào)用實(shí)例變量或類變量,但靜態(tài)方法是不可以訪問實(shí)例變量或類變量的,一個(gè)不能訪問實(shí)例變量和類變量的方法,其實(shí)相當(dāng)于跟類本身已經(jīng)沒什么關(guān)系了,它與類唯一的關(guān)聯(lián)就是需要通過類名來調(diào)用這個(gè)方法。

2. 類方法通過@classmethod裝飾器實(shí)現(xiàn),類方法和普通方法的區(qū)別是, 類方法只能訪問類變量,不能訪問實(shí)例變量。

3. 屬性方法的作用就是通過@property把一個(gè)方法變成一個(gè)靜態(tài)屬性,調(diào)用時(shí)與調(diào)用屬性的方式相同。

   3.1 把一個(gè)方法變成靜態(tài)屬性的作用:

當(dāng)某個(gè)屬性的值是一系列動(dòng)作后才得到的結(jié)果。所以每次調(diào)用時(shí),其實(shí)它都要經(jīng)過一系列的動(dòng)作才返回結(jié)果的,但這些動(dòng)作過程不需要用戶關(guān)心,用戶只關(guān)心得到這個(gè)屬性的值即可,也就是說用戶只需要調(diào)用這個(gè)屬性就可以了。

   (1)修改屬性值

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

   (2)刪除屬性

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

   #2:使用del刪除該實(shí)例所對(duì)應(yīng)的屬性方法(屬性) 例如:del 對(duì)象.屬性

源碼學(xué)習(xí)地址:https://gitee.com/FelixBinCloud/PythonLearn/commit/bad7a51da107bec6b2b2db697318a6935847d208

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

贡嘎县| 榆树市| 平顺县| 鄂伦春自治旗| 确山县| 垦利县| 泾阳县| 乌兰县| 定襄县| 新疆| 正镶白旗| 于都县| 沂水县| 卢湾区| 吕梁市| 江城| 白水县| 重庆市| 屏山县| 肥城市| 集贤县| 河间市| 绵竹市| 平定县| 普安县| 巴林右旗| 铁岭县| 罗定市| 阜新| 玉山县| 筠连县| 沙雅县| 河曲县| 醴陵市| 酉阳| 昌图县| 旌德县| 西昌市| 高雄县| 固安县| 吉安县|