我使用Python和C#。为什么Python程序员不经常使用属性?
在C#中几乎需要使用属性。 在Python中可以使用属性,但我没有看到它们经常使用。
是否有一个特定的原因,为什么Pythonistas不像其他语言的程序员那样使用属性?
我使用Python和C#。为什么Python程序员不经常使用属性?
在C#中几乎需要使用属性。 在Python中可以使用属性,但我没有看到它们经常使用。
是否有一个特定的原因,为什么Pythonistas不像其他语言的程序员那样使用属性?
Python是成年人自愿的语言。 - Alan Runyan Plone的联合创始人
在Python的理念是,我们都responsible users(也许一个上一任"consenting adults"改善),因此除非有我们认为是对一个好处我们不保护数据用户。
文化的证据:
也许属性的东西,可以被计算并且不经常需要,周四节省空间。
也许该属性必须是特定的类型,用户可能很容易给出错误的类型或值,因此您可以通过管理对该用户的访问来创建值。
也许该属性作为一个函数会更好,但它起初是一个简单的点状查找,但随后发展成上述两个之一,所以我们保持API以避免打破用户。
也许代码只会通过笔者使用,使它不那么重要,以保护用户。
也许我们试图通过预先计算属性来哄骗更多的代码性能,并且不介意内存的折衷。
也许我们希望我们的代码更加简洁/不那么冗长。
注意,给出的理由是程序员的判断的问题。该语言不需要托管属性,但它们是一项功能。如果你认为你的用户不需要他们,你可以避免支付计算成本。
其他语言不一定有这样的理念 - 而不是文化,你必须编写代码,您将只使用自己的,如果你是用户社区。这就是为什么他们会更多地使用这些类型的数据隐藏,而不是您通常在Python代码中看到的。