Python 中property 特性的使用方法

2021-08-20 16:14:17 字數 1393 閱讀 7844

import math

class circle:

def __init__(self, radius):

self.radius = radius

@property

def area(self):

return math.pi * self.radius ** 2

@property

def diameter(self):

return self.radius ** 2

@property

def perimeter(self):

return 2 * math.pi * self.radius

c = circle(20)

print(c.radius)

print(c.area)

print(c.diameter)

print(c.perimeter)

在python中,我們唱會看到@property 裝飾器

這上面這個**中的例子裡面,為唯讀特性,用來返回資料時,函式作為屬性返回。

常規模式下,我們呼叫需要這樣呼叫

c = circle(20)

print(c.radius)

print(c.area())

print(c.diameter())

print(c.perimeter())

@property 的用法很多,我們還可以用來檢測,setattr 值是否符合我們的要求

class demo:

def __init__(self,name):

self.name=name

@property

def name(self):

return self._name

@demo.setter

def name(self,value):

if not isinstance(value,str):

raise typeerror('type worng')

self._name=value

我們可以在子類中對這個方法進行擴充套件,過載

class subdemo(demo):

#我們根據自己的情況可以選擇在子類中對應的方法進行擴充套件

@demo.name.setter

def name(self,value):

super(subdemo,subdemo).name.__set__(self,value)

@demo.name.getter

def name(self):

return super().name

諸如此類有很多中用法,大家可以去挖掘!

python中的 property使用

如下 class animal object def init self,name,age self.name name self.age age a animal zhuzhu 9 a.name out 3 zhuzhu a.age out 4 9 a.age 20 a.age out 5 20在...

python中 property裝飾器

python中有乙個被稱為屬性函式 property 的小概念,它可以做一些有用的事情。在這篇文章中,我們將看到如何能做以下幾點 property 考察 student 類 class student object def init self,name,score self.name name se...

python 中 property的使用

從14年下半年開始接觸到python,自學了一段時間,後又跟別人學習了下,把基礎知識基本上學過了。忽然感覺python不可能這麼簡單吧,就這麼點東西?後來看了下書,發現還有很多的高階部分。連續看了兩天,把裝飾符 看了下,記錄下。裝飾符的作用就是類裡的方法變成屬性使用,比直接呼叫方法要直接簡單 直接上...