当我们拿到一个新的module后,如何才能知道它的功能与接口?
以一个shelve为例
1.import shelve
如果存在这个module,则不会报错
2.dir(shelve):将模块所有的函数、类、变量均列出
>>> dir(shelve)
['BsdDbShelf', 'DbfilenameShelf', 'Pickler', 'Shelf', 'StringIO', 'Unpickler', 'UserDict', '_ClosedDict', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'open']
3.shelve.__all__:列出模块设计希望对外暴露的接口(不等于公共方法,而是设置在模块内部的)