为什么Python程序员不经常使用属性?

时间:2016-03-08 17:24:23

标签: python properties

我正在使用Python和C#。

在C#中,几乎需要使用属性。 在Python中,可以使用属性,但我不经常看到它们在使用中。

为什么Pythonistas不像其他语言的程序员那样使用属性有什么特定原因?

1 个答案:

答案 0 :(得分:3)

Python的理念

  

Python是一种同意成年人的语言。    - Alan Runyan Plone的联合创始人

在Python中,哲学是我们都是responsible users(可能是对术语"consenting adults"的改进),所以我们不保护数据,除非我们认为对用户有好处。

文化证据:

我们可能使用属性的原因:

  • 也许这个属性是可以计算的,不需要经常使用,从而节省空间。

  • 可能该属性必须是特定类型,用户很容易被赋予错误的类型或值,因此您可以通过管理对该用户的访问权限为用户创建价值。

  • 也许该属性作为一个函数会更好,但它最初只是一个简单的点缀查找,但后来变成了上面两个中的一个,所以我们保留API以避免破坏用户。

    < / LI>

我们可能不使用属性的原因:

  • 也许代码只会被作者使用,因此保护用户不那么重要。

  • 也许我们试图通过预先计算属性来从代码中获取更多性能,并且不介意内存权衡。

  • 也许我们希望我们的代码更简洁/更简洁。

这是一个判断问题

请注意,给出的理由是程序员的判断。语言不需要托管属性,但它们是一项功能。如果您认为您的用户不需要它们,您可以避免支付计算成本。

结论

其他语言并不一定分享这种理念 - 相反,文化是你必须编写自己只使用自己的代码,就好像你是一个用户社区一样。这就是为什么他们会比你在Python代码中看到的更多地使用这些数据隐藏。