[Tutor] NEWBIE!! pipes
David Porter
jcm@bigskytel.com
Thu, 1 Feb 2001 17:29:55 -0700
* AquaRock7@aol.com <AquaRock7@aol.com>:
> What are pipes? The docs barely touched this subject, it assumed you
> already knew what they are... From context I am gathering that it is a
> connection to the kernel? (maybe?) How can I utilize this?
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=pipes
I haven't done anything with pipes yet.
> 1 more quickie:
> >if __name__ == '__main__':
> > main()
>
> what is the pourpose if the above code? It runs the sub main() (duh :) but,
> why not just main() wihtout the if? what is the conditional testing for?
> and what are the variables __main__ and __name__? i dont believe they are
> defined in the program, so just what are they? and, what does putting "__"
> around a variable actually DO besides look cool ?
Each module has a __name__ attribute. The directly executed file (not
imported) has the __name__ of "__main__". Even an interpretter session has
the name of "__main__":
>>> __name__
'__main__'
>>> import os
>>> os.__name__
'os'
Basically, the purpose of the above code is to make python do different
things when the file is run as a script and when it is imported as a
module. If it is being run as a script, execute main().
As for the question about __X__ type names, I think it is merely like that
for __name__ to distinquish it from your variables with the added bonus of
not stealing a valuable keyword from us, name. __X__ type names are more
significant when you deal with classes, where they are hooks used for
operator overloading.
David