Python内置@property函数解决臃肿代码

426 阅读1分钟

这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战

介绍

python 语言中有很多内置的函数,运用起来使代码注了入灵魂,这也称为 "语法糖"。 今天使用内置函数 property 它做的主要作用是将方法封装为属性, 如下案例分享给大家。

业务案例

DataQuery 类中 query方法内有很多if判断, 需要繁琐查询, 函数显得比较臃肿

class DataQuery(object):
    """数据查询"""
    def query(self, *args):
        if args[0] == 'data1':
            print('data1')
        elif args[0] == 'data2':
            print('data2')

q = DataQuery()
q.query('data1')

使用内置@property属性

Query 类封装了两个属性,其他功能在将其调用或使用时,会优雅的展示出查询某个属性。

class Query(object):
    """数据基类"""
    @property
    def data1(self):
        print('data1')

    @property
    def data2(self):
        print('data2')

q = Query()
q.data1

总结,使用@property属性进行封装,使代码更加优雅可读性更高。 更多的Python特性,会陆续更新中。 请大家多多关注~~