日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python的property屬性
Python的property屬性是一種裝飾器,用于將方法轉(zhuǎn)換為只讀屬性。它可以用于類和實例方法。使用@property裝飾器可以將方法轉(zhuǎn)換為相同名稱的只讀屬性,而不需要在代碼中添加特殊代碼來實現(xiàn)這一點。這使得代碼更加簡潔易讀。

Python中的property標簽屬性是一種特殊的裝飾器,它可以將一個方法轉(zhuǎn)換為屬性調(diào)用,這樣可以在不改變類的接口的情況下,增加或修改類的方法,property標簽屬性的主要作用是實現(xiàn)數(shù)據(jù)的封裝和隱藏,提高代碼的可讀性和可維護性。

property標簽屬性的基本用法

1、定義一個類,并在其中定義一個方法作為屬性的getter方法。

class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age
    @property
    def name(self):
        return self._name

2、在類外部訪問屬性時,可以直接通過屬性名進行訪問。

p = Person("張三", 18)
print(p.name)   輸出:張三

3、也可以通過getter方法獲取屬性值。

print(p.name)   輸出:張三

4、如果需要設置屬性值,可以使用setter方法。

p.name = "李四"
print(p.name)   輸出:李四

使用@property裝飾器將方法轉(zhuǎn)換為屬性調(diào)用

1、在類中定義一個方法,并在方法前加上@property裝飾器。

class Circle:
    def __init__(self, radius):
        self._radius = radius
    @property
    def radius(self):
        return self._radius * 2

2、在類外部訪問屬性時,可以直接通過屬性名進行訪問,此時,該方法已經(jīng)被轉(zhuǎn)換為屬性調(diào)用。

c = Circle(5)
print(c.radius)   輸出:20

3、也可以通過getter方法獲取屬性值,此時,該方法已經(jīng)被轉(zhuǎn)換為屬性調(diào)用。

print(c.radius)   輸出:20

4、如果需要設置屬性值,可以使用setter方法,此時,該方法已經(jīng)被轉(zhuǎn)換為屬性調(diào)用。

c.radius = 10
print(c.radius)   輸出:20 (因為半徑已經(jīng)乘以2)

使用@property裝飾器的多個屬性共享同一個getter和setter方法

1、在類中定義一個方法,并在方法前加上@property裝飾器,在該方法中返回另一個方法的結果,這樣,多個屬性就可以共享同一個getter和setter方法。

class Circle:
    def __init__(self, radius):
        self._radius = radius
        self._area = None
        self._circumference = None
        self.update()   初始化面積和周長為None,然后調(diào)用update方法更新它們
    def update(self):
        import math as mtm
        self._area = mtm.pi * self._radius * self._radius
        self._circumference = mtm.pi * self._radius * 2

2、在類外部訪問屬性時,可以直接通過屬性名進行訪問,此時,該屬性會調(diào)用對應的getter方法,如果需要設置屬性值,可以使用setter方法,此時,該屬性會調(diào)用對應的setter方法,注意,當設置面積或周長時,會自動更新半徑。

c = Circle(5)   c的面積為78.53981633974483,周長為31.41592653589793 (根據(jù)Python版本和環(huán)境可能會有細微差別)
print(c.area)   輸出:78.53981633974483 (根據(jù)Python版本和環(huán)境可能會有細微差別)
print(c.circumference)   輸出:31.41592653589793 (根據(jù)Python版本和環(huán)境可能會有細微差別)
c.area = 100   c的面積被設置為250 (根據(jù)Python版本和環(huán)境可能會有細微差別),半徑也被自動更新為25 (根據(jù)Python版本和環(huán)境可能會有細微差別)
print(c.area)   輸出:250 (根據(jù)Python版本和環(huán)境可能會有細微差別)

當前題目:python的property屬性
當前路徑:http://www.5511xx.com/article/djijjig.html