用C编写的Python实现中的数据隐藏

时间:2015-08-31 12:29:37

标签: python python-2.7

在Python 2.7教程section 9.4中,它说:

  

事实上,Python中没有任何内容可以强制执行数据隐藏 -   这一切都基于惯例。 (另一方面,Python   用C语言编写的实现可以完全隐藏实现   必要时详细说明并控制对象的访问权限;这可以用   通过用C语言编写的Python扩展。)

我的问题是Python实现如何隐藏对象的实现细节。如何在用C编写的Python扩展中使用它?

请在答案中包含代码示例。

1 个答案:

答案 0 :(得分:0)

因为用C编写的扩展可以完全控制属性访问,并且可以在对象中拥有无法从python访问的数据。请阅读Extending and Embedding了解详细信息,特别是有关定义新类型的章节。