Python - 通用函数的最佳位置

fr0*_*0z1 8 python function utility

我正在写一个烧瓶应用程序,我发现我有很多通用的实用程序功能.

以下是我认为通用实用程序函数的函数类型的示例:

def make_hash():
  return defaultdict(make_hash)

def file_read(filename):
  with open(file_name_, 'r') as f:
    return f.read()

def file_write(filename, data):
  with open(filename, 'w') as f:
    f.write(data)
Run Code Online (Sandbox Code Playgroud)

我想把这些功能一起扔到一个单独的模块中.但是,如果我有以下问题,我很好奇:

  • 有两个独特的功能可以保证一个单独的模块.即上面的file_read和file_write函数可以进入file.py模块,但是由于它的两个函数,我觉得这可能是矫枉过正.
  • 在我的应用程序中,我使用这些函数每个函数2-3次,所以我在他们创建这些实用程序函数的幌子下移动应该帮助我保存一些代码行,并希望能让我更有效率.

问题: - 对通用效用函数进行分组的pythonic方法是什么?我应该创建一个单独的模块吗?好奇其他人正在组织这种类型的代码.

Mic*_*ers 2

我不认为它与Python有太大关系,这更多的是一个设计决策。

仅针对这些行,我不会制作单独的模块;但是,如果你使用它 2 到 3 次,我就不会复制代码。如果您以后想要更改某些内容,只需进行一项更改即可保持功能一致。

而且这些方法似乎非常通用,因此您以后可以在其他项目中轻松使用它们。

我假设你想让它们静态(@static_method)。

我主要做的是按类型对通用实用程序类进行分组,即在您的情况下,一个文件用于字典(具有 1 个方法),另一个文件用于文件(具有 2 个方法)。稍后可能会添加更多方法,但功能按类型/用途分组。

  • 为什么是“类”和“static_methods”?Python 不是 Java,当您需要的只是一个函数时,请务必使用函数。 (3认同)