Почему я должен использовать метод класса в 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
декоратор?