为什么我应该在python中使用classmethod?
这个问题在这里已经有了答案:
  如果你看到_randomize方法,你没有使用任何实例变量(在init中声明),但它使用了一个类var即RANDOM_CHOICE = 'abcdefg' 。 
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))
这意味着,您的方法可以不存在实例方法而存在,您可以直接在课堂上调用它。
  Randomize._randomize()
现在问题出现了吗?它有什么优势?
我想是的,你不必通过创建一个实例来使用这种方法,这将有一个开销。
ran = Randomize() // Extra steps
ran._randomize()   
你可以在这里阅读关于类和实例变量的更多信息。
链接地址: http://www.djcxy.com/p/54269.html