我是 Python 新手,看到很多源代码使用单独的变量来表示 x 和 y 坐标或最小值和最大值。
前任。
COORD_X = 45
COORD_Y = 65
SIZE_MIN = 1
SIZE_MAX = 10
Run Code Online (Sandbox Code Playgroud)
我想知道为什么人们不使用字典来代替?如果我应该跟随他们的领导或做我觉得更好的事情?
前任。
COORDS = {'x': 45, 'y': 65}
SIZE = {'min': 1, 'max': 10}
Run Code Online (Sandbox Code Playgroud)
这是性能问题还是我错过了什么?字典似乎是更好的选择,尤其是当你有很多这样的变量集时。它将您的变量减半,您只需要将一个变量传递给函数而不是两个。
在许多情况下,这归结为个人风格偏好。但是,请注意,您正在创建更多对象来保存对象,这会消耗更多内存并影响创建的性能,并且查找速度稍慢,因此会有实例(大量对象,长时间运行的嵌套循环等)其中仅具有多个绑定将是有益的。
对于您的示例,我可能会使用namedtuple. 那里的例子几乎就是你的COORDS实例:
>>> Point = namedtuple('Point', ['x', 'y'], verbose=True)
>>> p = Point(11, y=22)
>>> p.x + p.y
33
Run Code Online (Sandbox Code Playgroud)