Python中的文件/模块结构
我刚开始学习Python,现在正在看http://diveintopython3.ep.io/这个网站。那里的代码示例很不错,但大多数都是四行的小片段,我想看看更全面的内容。
我理解的是——如果我理解错了请纠正我——每个“.py”文件就变成了一个“模块”,而一个文件夹里的多个模块就组成了一个“包”(至少,如果我在那个文件夹里创建一个__init__.py
文件的话)。如果我没有__init__.py
文件,那它算什么呢?
那么每个“模块”文件长什么样呢?我一般在文件里只定义一个类吗?除了类的定义和可能的一些import
命令,文件里还可以放其他东西吗?
3 个回答
0
Falmarri的回答已经很不错了,不过我再补充一下:
__init__.py
文件可以是一个空文件(通常就是空的),但它也可以用来执行一些初始化的代码,或者设置一个叫做 __all__
的变量。
1
这其实不是一个直接的答案,但看看标准库是怎么用 __init__.py
的,还是很有意思的。比如在像 sqlite3
这样的包里,和在像 SimpleHTTPServer
这样的模块里,它们的用法是不同的。
5
如果我没有一个
__init__.py
文件,那这是什么呢?
那就只是一个文件夹。
我一般在文件里只定义一个类吗?
这要看情况,不一定。
除了类定义和可能的一些导入命令,文件里还能放别的东西吗?
你可以放任何你想放的东西,只要是有效的 Python 代码就行。