Два метода класса были одинаковыми функционально, но получили другое имя - PullRequest
0 голосов
/ 17 апреля 2019

При использовании отсортированного набора redis я хочу сделать методы класса более читабельными. В redis-py, особенно в отсортированном наборе, операции push и update работают одинаково. Например,

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 Ответ

1 голос
/ 17 апреля 2019

Я никогда не видел это использование, так что это не может быть "рекомендовано", но технически вы можете сделать это.

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

    update = push

Также см. это .

...