1. 程式人生 > >python中@property和property函數使用

python中@property和property函數使用

desc setter style gin get方法 self. pan goods div

1、基本的@property使用,可以把函數當做屬性用

class Person(object):
    @property
    def get_name(self):
        print(我叫xxx)
 
 
def main():
    person = Person()
    person.get_name
 
 
if __name__ == __main__:
    main()

2、@property的set,deleter,get

class Goods(object):
    @property
    
def price(self): print(@property) @price.setter def price(self,value): print(@price.setter:+str(value)) @price.deleter def price(self): print(@price.deleter) obj = Goods() obj.price = 50 obj.price del obj.price

3、@property demo

class
Goods(object): def __init__(self): #原價 self.original_price = 100 #折扣 self.discount = 0.8 @property def price(self): #實際價格=原價*折扣 new_price = self.original_price*self.discount return new_price @price.setter def price(self,value): self.original_price
= value @price.deleter def price(self): del self.original_price obj = Goods() obj.price obj.price = 200 del obj.price

4、property函數使用

class Foo(object):
    def get_name(self):
        print(get_name)
        return laowang
 
    def set_name(self, value):
        ‘‘‘必須兩個參數‘‘‘
        print(set_name)
        return set value + value
 
    def del_name(self):
        print(del_name)
        return laowang
 
    NAME = property(get_name, set_name, del_name, description.)
 
 
obj = Foo()
obj.NAME    #調用get方法
obj.NAME = alex   #調用set方法
desc = Foo.NAME.__doc__     #調用第四個描述
print(desc)
del obj.NAME    #調用第三個刪除方法

5、property函數操作私有屬性的get和set方法

class Person(object):
    def __init__(self, age):
        self.__age = age
 
    def set_age(self, value):
        self.__age = value
 
    def get_age(self):
        return self.__age
 
    AGE = property(get_age, set_age)
 
 
person = Person(15)
person.AGE = 20
print(str(person.AGE))



python中@property和property函數使用