class MyClass(object):
    def __init__(self):
        pass

    def foo(self):
        pass

    @staticmethod
    def bar():
        pass


a = MyClass()
a.<caret>