Hey guys, some of you might know me from other sub sections of Dani Web. I am about (just started) to learn Python. And not just learn but possibly make it my prefered language over all. So, I've read the thread from vegaseat
for beginners and it has a link to a couple of examples provided by google. This is the source code of the first one
#!/usr/bin/python -tt
# Copyright 2010 Google Inc.
# Licensed under the Apache License, Version 2.0
# http://www.apache.org/licenses/LICENSE-2.0
# Google's Python Class
# http://code.google.com/edu/languages/google-python-class/
"""A tiny Python program to check that Python is working.
Try running this program from the command line like this:
python hello.py
python hello.py Alice
That should print:
Hello World -or- Hello Alice
Try changing the 'Hello' to 'Howdy' and run again.
Once you have that working, you're ready for class -- you can edit
and run Python code; now you just need to learn Python!
"""
import sys
# Define a main() function that prints a little greeting.
def main():
# Get the name from the command line, using 'World' as a fallback.
if len(sys.argv) >= 2:
name = sys.argv[1]
else:
name = 'World'
print 'Hello', name
# This is the standard boilerplate that calls the main() function.
if __name__ == '__main__':
main()
Okay, so I have a couple of questions concerning the syntax, also I noticed that this code is in Python2 while Python3 is now the standard I believe.
Anyway so here are my questions
This line #!/usr/bin/python -tt
has #
at start, isn't that a comment? But I think that line is required to be at the start of every script. I would appreciate a little information on this
Then I am a bit confused on this
# This is the standard boilerplate that calls the main() function.
if __name__ == '__main__':
main()
Is this required for all scripts? Kind of seems like a main function in languages such as C,C++ or Java. But what is the actual meaning of the if __name__ == '__main__':
, especially the underscores?
How would that be if I had implemented more functions, say I have printName and PrintNames, do I need to call them such as
# This is the standard boilerplate that calls the main() function.
if __name__ == '__main__':
main()
printName()
printNames()
Thank you in advance guys