为什么我应该在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