码迷,mamicode.com
首页 > 其他好文 > 详细

property初识

时间:2018-12-31 00:55:55      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:class   play   利用   object   技术   设值   ret   desc   display   

1、为什么要用property属性?

答:用property属性可以很方便的取值和设值,以前都是用方法来实现的,用方法的话还得考虑参数等等,不方便。

2、如何设置property属性?

答:有两种方法:

1>利用装饰器:

技术分享图片
 1 class Food(object):
 2     def __init__(self):
 3         self.old_price = 100
 4         self.discount = 0.8
 5 
 6     @property
 7     def price(self):
 8         new_price = self.old_price * self.discount
 9         return new_price
10 
11     @price.setter
12     def price(self, value):
13         self.old_price = value
14 
15     @price.deleter
16     def price(self):
17         del self.old_price
18 
19 obj = Food()
20 obj.price
21 obj.price = 200
22 del obj.price
View Code

2>利用类属性:

技术分享图片
 1 class Food(object):
 2     def __init__(self):
 3         self.old_price = 100
 4         self.discount = 0.8
 5 
 6     def get_price(self):
 7         new_price = self.old_price * self.discount
 8         return new_price
 9 
10     def set_price(self, value):
11         self.old_price = value
12 
13     def del_price(self):
14         def self.old_price
15 
16     
17         
18 
19      PRICE = property(get_price, set_price, del_price, "description...")
20 
21 obj = Food()
22 obj.price
23 obj.price = 200
24 del obj.price
View Code

 

property初识

标签:class   play   利用   object   技术   设值   ret   desc   display   

原文地址:https://www.cnblogs.com/eric818/p/10201190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!