如何在没有实例初始化的情况下使用方法?

时间:2019-07-11 22:05:35

标签: python class initialization static-methods class-method

当前,我正在使用db.getCollection('words').aggregate([ { $match: { "kanji.text": /^彼/ } }, { $limit : 10 }, { $addFields: { exact: { $filter: { input: '$kanji.text', cond: { $eq: ['$$this', "彼"] } } } }}, { $project: { "kanji": 1, "kana": 1, "sense":1, "exact": 1 } }, { $sort: {"exact.0": -1} } ])

SampleClass.method1()

但是,我想这样做:

output = SampleClass().method1(input_var)

我该怎么做?

output = SampleClass.method1(input_var).

将上面的类更改为下面的类是否可行?

class SampleClass(object):

    def __init__(self):
        self.var1 = 'var1'
        self.var2 = 'var2'

    def method1(self, input_var):
        self.var3 = self._method2(input_var)
        return self._method3(self.var3)

    def _method2(self):
        pass

    def _method3(self):
        pass

谢谢。

1 个答案:

答案 0 :(得分:1)

您要查找的内容称为静态方法。是的,您可以用Python编写一个。一个here已经发布了一个带有解释的好例子。