File/module structure in Python
So I'm just getting started with Python, and currently working my way through http://diveintopython3.ep.io/. The code examples are nice, but the vast majority of them are little four-line snippets, and I want to see a little more of the big 开发者_如何学Pythonpicture.
As I understand it--and correct me if I'm wrong--each '.py' file becomes a "module", and a group of modules in a directory becomes a "package" (at least, it does if I create a __init__.py
file in that directory). What is it if I don't have a __init__.py
file?
So what does each "module" file look like? Do I generally define only one class in the file? Does anything else go in that file besides the class definition and maybe a handful of import
commands?
What is it if I don't have a
__init__.py
file?
It's just a folder.
Do I generally define only one class in the file?
It depends. Not necessarily.
Does anything else go in that file besides the class definition and maybe a handful of import commands?
You can put anything you want. Anything that's valid python at least.
Not really an answer, but it is always worth looking at the standard library to see how they use __init__.py
in packages like sqlite3
vs. modules like SimpleHTTPServer
Falmarri answers it pretty well, but just to add:
__init__.py
can be an empty file (and is usually is), but it can also execute initialization code for the package or set the __all__
variable.
精彩评论