Python 模块 - 方法与变量

Python modules - methods vs variables

在为 python 代码编写模块以提高可读性和可移植性时,为简单的 return 值编写方法或变量是否更好?为什么? python 方法在内存中使用更多 space 还是使用变量?

实际上变化不大... module.item() vs module.item 注意:考虑使用模块编写的代码的可读性。不是模块本身的可读性。

例如:

#colors.py

def red():
    return [255,0,0]

def green():
    return [0,255,0]

def blue():
    return [0,0,255]

VS

#colors.py

red   = [255,0,0]
green = [0,255,0]
blue  = [0,0,255]

如果值永远不会改变,因为永远不需要任何逻辑来确定值,只需使用变量即可。通过调用函数,它告诉使用模块的用户某些操作需要 运行 才能确定值。如果您只是返回一个值而不做任何事情,这是误导和混淆。

对于那个具体的例子,我 都不用。红色永远是[255,0,0],那你为什么要让它变,我会用一个元组。

此外,在 Python 中调用函数相对较慢,所以我不会将其用于模块,尤其是当代码变得足够复杂时。

但是为什么要保存这些值,我想每个阅读该模块的人都会知道这些东西是如何工作的:[255,0,0] 是红色的,[200,0,0] 是深色的,等等。除非你的模块使用如此多的琐碎值,不,如果您希望使用您的模块的人可以制作 redred(),他们应该能够自己完成。