1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. Python property()

            更新:

            內置函數屬性()有助于定義 Python 類屬性。它為實例屬性提供了一個接口,并提供了與 java 和 c#相同的屬性。

             **property(fget=None, fset=None, fdel=None, doc=None)** #where all arguments are optional 
            

            屬性()參數:

            接受四個可選參數。如果在沒有任何參數的情況下調用property(),它將返回一個基屬性。

            參數 描述 必需/可選
            FGD!FGD 用于獲取屬性值的函數。默認為無。 可選擇的
            fset 用于設置屬性值的函數。默認為無。 可選擇的
            -貿易 用于刪除屬性值的函數。默認為無。 可選擇的
            文件 包含屬性文檔(docstring)的字符串。默認為無。 可選擇的

            屬性()返回值

            如果未提供參數 doc,則property()將采用 getter 函數的 docstring。

            | 投入 | 返回值 | | if 參數 | 屬性屬性 |

            Python 中property()方法的示例

            示例 1:用 getter、setter 和 deleter 創建屬性

             class Person:
                def __init__(self, name):
                    self._name = name
            
                def get_name(self):
                    print('Getting name')
                    return self._name
            
                def set_name(self, value):
                    print('Setting name to ' + value)
                    self._name = value
            
                def del_name(self):
                    print('Deleting name')
                    del self._name
            
                # Set property to use get_name, set_name
                # and del_name methods
                name = property(get_name, set_name, del_name, 'Name property')
            
            p = Person('Adam')
            print(p.name)
            p.name = 'John'
            del p.name 
            

            輸出:

            Getting name
            The name is: Adam
            Setting name to John
            Deleting name

            注意:現在我們通過調用property()方法設置一個新的屬性屬性名。如程序中所示,通過方法內部的打印輸出,引用 p.name 在內部調用property()作為獲取器,set_name()作為設置器,set_name()作為刪除器。

            示例 2:使用@property 裝飾器

             class Person:
                def __init__(self, name):
                    self._name = name
            
                @property
                def name(self):
                    print('Getting name')
                    return self._name
            
                @name.setter
                def name(self, value):
                    print('Setting name to ' + value)
                    self._name = value
            
                @name.deleter
                def name(self):
                    print('Deleting name')
                    del self._name
            
            p = Person('Adam')
            print('The name is:', p.name)
            p.name = 'John'
            del p.name 
            

            輸出:

            Getting name
            The name is: Adam
            Setting name to John
            Deleting name 
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>