13

我需要创建一个函数来顺时针旋转给定的矩阵(列表列表),我需要在我的Table课堂上使用它。我应该把这个实用函数(称为)放在哪里,rotateMatrixClockwise以便我可以在我的类的函数中轻松调用它Table

4

2 回答 2

13

让它成为一个静态函数......

  • 添加 @staticmethod 装饰器
  • 不要将“self”作为第一个参数

你的定义是:

@staticmethod
def rotateMatrixClockwise():
    # enter code here...

这将使它在您通过调用导入“表”的任何地方都可以调用:

table.rotateMatrixClockwise()

装饰器只需要告诉 python 不需要隐式的第一个参数。如果你想让方法定义像 C#/Java 一样,其中 self 总是隐式的,你也可以使用 '@classmethod' 装饰器。

这是直接来自python手册的文档。

注意:我建议仅在其代码不能直接耦合到模块的情况下使用实用程序类,因为它们通常违反 OOP 的“单一职责原则”。几乎总是最好将类的功能作为方法/成员与类联系起来。

于 2010-06-17T02:02:12.697 回答
4

如果您不想使其成为Table该类的成员,则可以将其放入utilities模块中。

于 2010-06-15T22:36:48.773 回答