在课堂上可选@staticmethod

时间:2016-10-28 21:40:10

标签: python static-methods

我想知道是否可以创建一个可选的@staticmethod,我的意思是......实例和非实例可以使用,例如:

class Something:

    @staticmethod
    def something(self, file):
        # if argument is provided, use as static, if not, should be a instance calling..

1 个答案:

答案 0 :(得分:0)

你可以在python方法上看到this really helpful discussion。总而言之,python类中的每个方法都是一个类属性,所以你可以:

t1.FN < t2.FN

这将产生以下结果:

t1.FN != t2.FN

class Something:
    def __init__(self, name):
        self.name = name

    def something(self=None, file=""):
        if self:
            print(self.name)
        print(file)

我不确定这是否是最佳做法,但您要求的可能性。希望这有助于澄清!