有关封装python的最佳实践

时间:2014-09-22 21:34:15

标签: python debugging encapsulation

我怀疑这将是一个非常有用的问题但是这里有:

我经常在课堂上制作新的课程和方法时,我倾向于制作很多我认为基本的变量" local"通过使它们成为self.x而不是仅仅是普通的旧x,从外部可以访问它们的函数。我觉得这对调试很有帮助(例如,如果我的最终结果很糟糕,我可以回去确保数组x的内容是我认为的那样)。

这允许我在写作期间需要诊断,但后来我必须返回并更改所有self.x,self.y等....回到普通的旧x,y等...所以当我后来输入对象名称时,我可以选择的东西列表是可管理的。

我认为这种做法反映了我作为初学者的地位,我想知道有多少经验丰富的家伙正在沿着这条线做些什么。我认为必须有更好的方法。欣赏任何时间或建议。

1 个答案:

答案 0 :(得分:1)

封装实际上是一种抽象形式。 您希望实现的目标是尽可能简单地处理数据并隐藏外部的所有细节。你想要loosely coupled components
以下是一些提示:

  • 考虑正确的数据结构。它应该接近问题,易于使用且易于实现。
  • 避免冗余代码。单个任务的一个功能。每个模块一个班级。这也增加了代码重用。
  • 认为库不是程序。将相关的功能和模块组合到库中。使用它们的程序应该将库粘合在一起。然后,您可以与主程序分开改进库,并将代码用于其他项目。
  • 避免全局状态。您不希望拥有遍布各处的变量并在意外的地方进行修改。这只会引起头痛。

尽管如此,请继续编码。随着时间的推移,你会变得更好。这只是经验。如果您有空闲时间来处理此问题,请尝试Project Euler