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]
是深色的,等等。除非你的模块使用如此多的琐碎值,不,如果您希望使用您的模块的人可以制作 red
或 red()
,他们应该能够自己完成。
在为 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]
是深色的,等等。除非你的模块使用如此多的琐碎值,不,如果您希望使用您的模块的人可以制作 red
或 red()
,他们应该能够自己完成。