Почему я должен использовать метод класса в python? [Дубликат]

На этот вопрос уже есть ответ:

Значение @classmethod и @staticmethod для начинающих? [Дубликат] 12 ответов Какова цель методов класса? 15 ответов

Я пишу функцию в каком-то классе на python, и люди предложили мне добавить к этой функции a@classmethod декоратор.

Мой код:

import random


class Randomize:
    RANDOM_CHOICE = 'abcdefg'

    def __init__(self, chars_num):
        self.chars_num = chars_num

    def _randomize(self, random_chars=3):
        return ''.join(random.choice(self.RANDOM_CHOICE)
                       for _ in range(random_chars))

Предлагаемое изменение:

    @classmethod
    def _randomize(cls, random_chars=3):
        return ''.join(random.choice(cls.RANDOM_CHOICE)
                       for _ in range(random_chars))

Я почти всегда использую только_randomize функция.

Мой вопрос: каковы преимущества от добавления к функцииclassmethod декоратор?

Ответы на вопрос(1)

Ваш ответ на вопрос