Starting Python... some questions
Jordan Greenberg
"greenbergj\" at NOSPAM wit.edu
Tue Mar 13 00:57:01 EDT 2007
jezonthenet at yahoo.com wrote:
> I started using Python a couple of days ago - here are a few
> questions:
>
> * Doesn't the __main__() method automatically execute when I run my
> python program?
> * Only when I do an import of my test.py file within python and then
> run test.__main__() I can see where my bugs are. Is this correct?
> (right now this is my only way of running my python program and see
> where I have problems)
No, there is no special __main__ function, to the best of my knowledge.
I think the idiom you're thinking of is:
if __name__="__main__":
#Your main stuff here
But that won't execute if you do an import. Only when you call the
script directly, like:
python myscript.py
for example.
> * Once I've done an import and then I wish to make a change to the
> file I've imported I have to quit Python, restart and import that
> module again in order for the module to be refreshed. Is there no "re-
> import" ?
There is. The reload command. Usage is similar to import:
import MyModule
#Do your edit, and reload thusly:
reload MyModule
> * Finally, could someone tell me why I'm having problems with the
> small module below?
> - Python pretends I provide chassis_id() with three parameters, even
> though I clearly only provide it with two - why?
Python expects self as the first parameter. You might want to take
another look at the class bits of your tutorial of choice, or:
http://docs.python.org/tut/node11.html
The function definition should look more like:
def chassis_id(self, subtype, chassis_info):
HTH.
-Jordan Greenberg
More information about the Python-list
mailing list