Если вы хотите вызвать метод напрямую, не создавая экземпляр, вы можете использовать декоратор staticmethod
.Обратите внимание, что self
при использовании статического метода отсутствует
class Ape(object):
def __init__(self):
print 'ooook'
@staticmethod
def say(s):
print s
def main():
Ape.say('eeek')
if __name__ == '__main__':
main()
Сравните с методами класса, где класс является первым параметром вместо экземпляра
class Ape(object):
def __init__(self):
print 'ooook'
@classmethod
def say(cls, s):
print "the class is:", cls
print s
def main():
Ape.say('eeek')
if __name__ == '__main__':
main()