我正在阅读 Dietel 的 C++ 编程书籍。在本书中,他们提到程序员应该如何只发布代码的接口部分而不是实现。
所以把它带到python:
我有 2 个文件:1)实现文件 = accountClass.py 和 2)接口文件 = useAccountClass.py
我已经编译了实现文件并获得了.pyc文件。所以当我将我的代码提供给其他人时,我会提供给他 .pyc 文件和接口文件,对吗?
另外,如果我只向其他人提供 .pyc 文件,我可以期望他自己编写接口吗?我会说不。但是我有一个挥之不去的疑问:
numpy 和 scipy 的创建者没有与我们的最终用户共享实现。而且我认为他们也不共享任何接口。但是我们仍然可以在 numpy 和 scipy 中搜索不同的类及其方法。所以,使用这个 numpy 和 scipy 的例子,我想我想问的是:
如果我只向他/她提供已编译的实现文件(在本例中为 accountClass.pyc),其他人是否可以为我的代码创建接口?该人如何知道我在实现中定义了哪些类和方法?我的意思是,他们会使用
if __name__ = "__main__" :
blah blah
还是有其他方法??