Python中property屬性的概論和使用方法

2022-08-23 12:24:10 字數 1522 閱讀 4654

定義方式(經典類)

class fun():

@property

def size(self):

return 100

fun = fun()

print(fun.size)

100

class fun():

def __init__(self):

self.num = 0

@property

def price(self):

print("get @property")

return self.num

@price.setter

def price(self, value):

self.num = value

print("set @price.setter")

@price.deleter

def price(self):

print("del @price.deleter")

obj = fun()

print(obj.price) # 可以獲取**,呼叫property裝飾器

obj.price = 100 # 修改**,呼叫price.setter裝飾器

del obj.price # 刪除**,呼叫price.deleter裝飾器

get @property

0set @price.setter

del @price.deleter`

可以使用proerty來替代原有的封裝的set和get方法

#coding=utf-8

class foo(object):

def get_bar(self):

print("getter...")

return "laowang"

def set_bar(self, value):

"""必須兩個引數"""

print("setter...")

return 'set value' + value

def del_bar(self):

print("deleter...")

return "laowang"

bar = property(get_bar, set_bar, del_bar, "description...")

obj = foo()

obj.bar # 自動呼叫第乙個引數中定義的方法:get_bar

obj.bar = "alex" # 自動呼叫第二個引數中定義的方法:set_bar方法,並將「alex」當作引數傳入

desc = foo.bar.__doc__ # 自動獲取第四個引數中設定的值:description...

print(desc)

del obj.bar # 自動呼叫第三個引數中定義的方法:del_bar方法

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不可能這麼簡單吧,就這麼點東西?後來看了下書,發現還有很多的高階部分。連續看了兩天,把裝飾符 看了下,記錄下。裝飾符的作用就是類裡的方法變成屬性使用,比直接呼叫方法要直接簡單 直接上...