两个类方法在功能上相同,但名称不同

时间:2019-04-17 09:06:54

标签: python redis redis-py

使用redis排序集时,我想使类方法更具可读性。在redis-py中,尤其是在排序集中,pushupdate的工作原理相同。例如,

class A(object):
    def push(self, key, value, score):
        return redis.zadd(key, {value: score})

    def update(self, key, value, score):
        return self.push(key, value, score)

if __name__ == 'main':
    a = A()
    # push item1 in redis sorted set
    a.push('sorted_set', 'item1', 1)

    # update item1 in redis sorted set to score 2
    # but I also know that this is same with
    # a.push('sorted_set', 'item1', 2)
    a.update('sorted_set', 'item1', 2)

但是,我想知道有解决此问题的更好方法。请让我知道。

1 个答案:

答案 0 :(得分:1)

我从未见过这种用法,因此可能不建议“这样做”,但是从技术上讲,您可以这样做。

class A(object):
    def push(self, key, value, score):
        return redis.zadd(key, {value: score})

    update = push

另请参阅this