我需要创建一个顺时针旋转给定矩阵(列表列表)的函数,我需要在Table
类中使用它。我应该在哪里放置此实用程序功能(称为rotateMatrixClockwise
),以便我可以在Table
类的函数中轻松调用它?
答案 0 :(得分:11)
将其设为静态功能......
您的定义是:
@staticmethod
def rotateMatrixClockwise():
# enter code here...
通过调用:
,可以在任何导入'table'的地方调用它table.rotateMatrixClockwise()
装饰器只需要告诉python没有预期隐含的第一个参数。如果你想让方法定义像C#/ Java一样,其中self总是隐含的,你也可以使用'@classmethod'装饰器。
Here's the documentation for this coming directly from the python manual.
注意:我建议仅在其代码无法直接耦合到模块的情况下使用Utility类,因为它们通常违反了OOP的“Single Responsibility Principle”。 几乎始终最好将类的功能作为方法/成员绑定到类中。
答案 1 :(得分:4)
如果您不想让它成为Table
课程的成员,可以将其放入utilities
模块中。