meeper34 wrote: > Hi, > > I'm just starting out with Python, and so far I am thoroughly impressed > with what you can do very easily with the language. > > I'm coming from a > C++ background here. A couple of questions came up as I was thinking > about dynamically typed languages: > > 1. If someone releases an interface in Python, how does the user know > what parameters the function takes/returns?
They read the doc !-) The minimal documentation effort is to put docstrings in the source: http://www.python.org/doc/peps/pep-0257/ Then there are many ways to get at the doc, the most useful being the help() command in the interactive python shell. > 2. If documentation is the answer to 1, then are there any Python > documentation standards? cf above > 3. Are there any tools out there that can extract the interface > information from Python files and release it as documentation like > header (.h) files? I know there are tools like this for languages like > C#. cf above > 4. Really basic question, and I'm sure I will learn this very quickly > with more reading, but I'm confused by the lack of an entry point in a > Python app, i.e. int main(). When the python interpreter is feed a python source file, it executes all that is at the top-level. So for the simplest cases, there's no need for an "entry point". Now there's a common idiom which is: # myfile.py ... imports, defs etc here ... def main(argv): ... code for main here ... return 0 # ok if __name__ == "__main__" : import sys sys.exit(main(sys.argv)) A quick explanation: a source file can be either passed to the interpreter, in which case it's considered as the program itself, or imported by another source file, in which case it's considered as a module. In the first case, the magic variable __name__ will be set to "__main__", in the second it will be set to ne name of the module. The idiom above allow to use the file both as a program or as a module. Another use for it is to put some tests in the main() if the file is not meant to be used as a program. > Btw, I was turned on to Python from Bruce Eckel's article "Strong > Typing vs Strong Testing." Hope you'll enjoy it - but even if the language itself is quite easy to learn, it may takes some time getting used to the pythonic way of doing things. -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list