1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      property函數(shù)如何在Python中使用-創(chuàng)新互聯(lián)

      今天就跟大家聊聊有關(guān)property函數(shù)如何在Python中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

      創(chuàng)新互聯(lián)是專業(yè)的江西網(wǎng)站建設(shè)公司,江西接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行江西網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

      具體如下:

      通常我們在訪問和賦值屬性的時候,都是在直接和類(實例的)的__dict__打交道,或者跟數(shù)據(jù)描述符等在打交道。但是假如我們要規(guī)范這些訪問和設(shè)值方式的話,一種方法是引入復(fù)雜的數(shù)據(jù)描述符機制,另一種恐怕就是輕量級的數(shù)據(jù)描述符協(xié)議函數(shù)Property()。它的標(biāo)準(zhǔn)定義是:

      + property(fget=None,fset=None,fdel=None,doc=None)
      + 前面3個參數(shù)都是未綁定的方法,所以它們事實上可以是任意的類成員函數(shù)

      property()函數(shù)前面三個參數(shù)分別對應(yīng)于數(shù)據(jù)描述符的中的__get____set____del__方法,所以它們之間會有一個內(nèi)部的與數(shù)據(jù)描述符的映射。

      綜上描述,其實property()函數(shù)主要是用來規(guī)范化訪問類的屬性和修改類屬性的值的一種方法。

      property()函數(shù)可以用0,1,2,3,4個參數(shù)來調(diào)用,順序依次是get,set,del,doc,這四個。

      property()的實現(xiàn)方法有兩種,見代碼

      第一種:

      #!/usr/bin/python
      #coding: utf-8
      class Rectangle(object):
        def __init__(self, width, height):
          self.width = width
          self.height = height
        def getSize(self):
          return self.width, self.height
        def setSize(self, size):
          self.width, self.height = size
        def delSize(self):
          del self.height
        size = property(getSize, setSize, delSize, "實例對象")
      r = Rectangle(10, 20)
      # 輸出此時矩形的長和寬
      # 此時執(zhí)行的是getSize
      print r.size
      # 修改size的值
      # 此時執(zhí)行的是setSize
      r.size = 100, 200
      print r.size
      del r.height
      print r.width
      # height屬性已經(jīng)被刪除,下面語句會報錯
      # print r.size

      運行結(jié)果:

      (10, 20)
      (100, 200)
      100

      第二種:(裝飾器)

      #!/usr/bin/python
      #coding: utf-8
      class Rectangle(object):
        def __init__(self, width, height):
          self.width = width
          self.height = height
        # 下面加@符號的函數(shù)名要相同
        # 第一個是get方法
        @property
        def Size(self):
          return self.width, self.height
        # 此處是set方法,是@property的副產(chǎn)品
        @Size.setter
        def Size(self, size): # 此時接收的是一個元祖
          self.width, self.height = size
        @Size.deleter
        def Size(self):
          del self.width
          del self.height
      r = Rectangle(10, 20)
      print r.Size
      r.Size = 100, 200
      print r.Size
      del r.height
      # 由于上一步刪除了self.height屬性,所以下面再訪問的時候會報錯
      # print r.Size
      # 可以訪問width,還沒有被刪除
      print r.width

      運行結(jié)果:

      (10, 20)
      (100, 200)
      100

      看完上述內(nèi)容,你們對property函數(shù)如何在Python中使用有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


      本文名稱:property函數(shù)如何在Python中使用-創(chuàng)新互聯(lián)
      轉(zhuǎn)載源于:http://www.ef60e0e.cn/article/doddos.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        婺源县| 同心县| 邢台县| 石屏县| 孟村| 阳春市| 蚌埠市| 新和县| 兴和县| 广汉市| 金寨县| 盐津县| 酒泉市| 宁安市| 梨树县| 天祝| 禄丰县| 芦溪县| 澎湖县| 贡嘎县| 石台县| 崇义县| 江都市| 夏邑县| 大厂| 白城市| 黄梅县| 南康市| 宁国市| 奉新县| 明星| 蒙自县| 信丰县| 前郭尔| 合肥市| 黄大仙区| 秭归县| 德格县| 普安县| 南皮县| 丰城市|