亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python類屬性指的是什么

發布時間:2020-09-08 14:36:21 來源:億速云 閱讀:191 作者:小新 欄目:編程語言

小編給大家分享一下python類屬性指的是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

首先我們來看一下屬性的定義

屬性的定義:python中的屬性其實是普通方法的衍生。

操作類屬性有三種方法:

1.使用@property裝飾器操作類屬性。

2.使用類或實例直接操作類屬性(例如:obj.name,obj.age=18,del obj.age)

3.使用python內置函數操作屬性。

屬性存在的意義:

1、訪問屬性時可以制造出和訪問字段完全相同的假象,屬性由方法衍生而來,如果Python中沒有屬性,方法完全可以代替其功能。

2、定義屬性可以動態獲取某個屬性值,屬性值由屬性對應的方式實現,應用更靈活。

3、可以制定自己的屬性規則,用于防止他人隨意修改屬性值。

下面詳細介紹三種操作類屬性的方法:

1.使用@property裝飾器操作類屬性。

定義時,在普通方法的基礎上添加@property裝飾器;屬性僅有一個self參數,調用時無需括號;

優點:

1) @property裝飾器可以實現其他語言所擁有的getter,setter和deleter的功能(例如實現獲取,設置,刪除隱藏的屬性)

2) 通過@property裝飾器可以對屬性的取值和賦值加以控制,提高代碼的穩定性。 

實例代碼1:

#encoding=utf-8                                                  
class Goods():  #新式類                                    
    @property                                                      
    def price(self): #查看屬性值                                           
        print ('@property ')                                         
    @price.setter    #修改、設置屬性                                     
    def price(self, value):                                        
       print ('@price.setter' )                                      
    @price.deleter   #刪除屬性                                          
    def price(self):                                               
       print ('@price.deleter')                                      
                                                                   
obj = Goods(50)                                                    
obj.price         # 自動執行 @property 修飾的 price 方法,并獲取方法的返回值              
obj.price = 2000  # 自動執行 @price.setter 修飾的 price 方法,并將2000賦值給方法的參數
del obj.price     # 自動執行 @price.deleter 修飾的 price 方法 
結果輸出:
@property
@price.setter
@price.deleter

實例代碼2:通過@property裝飾器對屬性的取值和賦值加以控制

class Goods(object):
    def __init__(self):
        self.value=50
    @property
    def price(self):  # 查看屬性
        return self.value

    @price.setter  # 添加或設置屬性(屬性名.setter)
    def price(self, value):
        if value >=50 and value<=100:  #對屬性的取值和賦值加以控制
            self.value=value
            print (self.value)
        else:
            print ("請輸入一個50到100之間的數!")

    @price.deleter  # 刪除屬性(屬性名.deleter) 注意:屬性一旦刪除,就無法設置和獲取
    def price(self):
        del self.value
        print ("price is deleted!")

obj = Goods()
print (obj.price)   # 自動執行 @property 修飾的 price 方法,并獲取方法的返回值
obj.price=106     # 自動執行 @price.setter 修飾的 price 方法,并將106 賦值給方法
del obj.price     # 自動執行 @price.deleter 修飾的 price 方法
結果輸出:
50
請輸入一個50到100之間的數!
price is deleted!

以上是python類屬性指的是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溆浦县| 彰化县| 托克逊县| 龙泉市| 化州市| 台州市| 兴隆县| 大方县| 云阳县| 灵川县| 常熟市| 扶沟县| 达尔| 闸北区| 东乡县| 澎湖县| 康平县| 仪陇县| 南华县| 阿合奇县| 永清县| 富阳市| 射阳县| 延寿县| 牡丹江市| 滦平县| 平罗县| 南溪县| 封开县| 枣庄市| 正蓝旗| 华亭县| 綦江县| 开封县| 静安区| 丹棱县| 衡山县| 多伦县| 鄄城县| 鹿泉市| 株洲县|