Сделать статическую функцию ...
- добавить декоратор @staticmethod
- не включайте 'self' в качестве первого аргумента
Ваше определение будет:
@staticmethod
def rotateMatrixClockwise():
# enter code here...
Что делает его вызываемым везде, где вы импортировали «таблицу», путем вызова:
table.rotateMatrixClockwise()
Декоратор необходим только для того, чтобы сообщить python, что не ожидается неявный первый аргумент. Если вы хотите, чтобы определения методов действовали как C # / Java, где self всегда неявно, вы также можете использовать декоратор @classmethod.
Вот документация для этого, пришедшая прямо из руководства по питону.
Примечание. Я бы рекомендовал использовать классы Utility только в тех случаях, когда их код не может быть напрямую связан с модулем, поскольку они обычно нарушают « Принцип единой ответственности » ООП. почти всегда лучше связать функциональность класса как метода / члена с классом.