notbob wrote: > I'm running > vers 2.5.1 on slackware 12. Nice to see another Slackware user around here!
> "Here is an example of a user-defined function that has a parameter: > > > def print_twice(bruce): > print bruce, bruce <snip> > is this just an example of how the def should be written and it doesn't > really do anthing... yet? That's correct. A function doesn't generally *do* anything until it is called. Here, it is only defined. The only thing this function does when called is to print the value of bruce twice. > I define myfirstfunction in the pyth > editor and give the command print myfirstfuntion and I get back this: > <function myfirstfunction at 0xb7b9c994> Functions are objects too, and this is a printed representation of that function object. It still hasn't been "called" at this point. > ....when I add the ._doc_, it get this: > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > AttributeError: 'function' object has no attribute '_doc_' > ....so, there is a no go there, too. The functions docstring is stored in the attribute named "__doc__". Like other python "special" attributes, it starts and ends with TWO underscores. > ok, I try and follow the above, but where is he getting the script? So, I > make a script called chap03.py and put it in ~/pyth/chap03/. You are correct to create this script yourself from scratch. > I then try an do the import thing above, but the pyth ed accepts none of > it. not from: > from ~/pyth/chap03/ import * > from chap03 import * #taken from ~/pyth/ > ....nor from any other configuration I can imagine, so that "from" command > makes no sense. Modules are imported from your PYTHONPATH, which is a search path similar to bash's PATH: It is a list of directories that are searched for *module* names when you attempt an import. You can examine your python path by doing: >>> import sys >>> sys.path Your module files, i.e., chap03.py, should be in one of the directories on that path. "from" modifies a *module* name, not a path component. So "from module import one_function, another_function". This allows you to use one_function without referencing it through the imported module name. In other words, these two are equivalent: >>> import chap03 >>> chap03.print_twice() and: >>> from chap03 import print_twice >>> print_twice() In the above examples, "chap03" is the *module* file, chap03.py. Hope that helps clarifies things a bit, Jeffrey -- http://mail.python.org/mailman/listinfo/python-list