Python Basic Syntax The Python language has many similarities to Perl, C and Java. However, there are some definite differences between the languages. This chapter is designed to quickly get you up to speed on the syntax that is expected in Python. First
Python
Program:
INTERACTIVE
MODE
PROGRAMMING:
Invoking the interpreter without passing a script file as a parameter brings up the following prompt: $ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> Type the following text to the right of the Python prompt and press the Enter key: >>> print "Hello, Python!"; If you are running new version of Python, then you would need to use print statement with parenthesis like print ("Hello, Python!");. However at Python version 2.4.3, this will produce following result: Hello, Python! SCRIPT
MODE
PROGRAMMING:
Invoking the interpreter with a script parameter begins execution of the script and continues until the script is finished. When the script is finished, the interpreter is no longer active. Let us write a simple Python program in a script. All python files will have extension .py. So put the following source code in a test.py file. print "Hello, Python!"; Here, I assumed that you have Python interpreter set in PATH variable. Now, try to run this program as follows:
$ python test.py
Hello, Python!
Let's try another way to execute a Python script. Below is the modified test.py file: #!/usr/bin/python
print "Hello, Python!";
Here, I assumed that you have Python interpreter available in /usr/bin directory. Now, try to run this program as follows:
$ chmod +x test.py # This is to make file executable $./test.py
This will produce the following result:
Hello, Python!
Python
Identifiers:
A Python identifier is a name used to identify a variable, function, class, module or other object. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero or more letters, underscores and digits (0 to 9). Python does not allow punctuation characters such as @, $ and % within identifiers. Python is a case sensitive programming language. Thus, Manpower and manpower are two different identifiers in Python. Here are following identifier naming convention for Python: • Class names start with an uppercase letter and all other identifiers with a lowercase letter.
• Starting an identifier with a single leading underscore indicates by convention that the identifier is meant to be private. • Starting an identifier with two leading underscores indicates a strongly private identifier.
• If the identifier also ends with two trailing underscores, the identifier is a language-defined special name
Lines
and
Indentation:
One of the first caveats programmers encounter when learning Python is the fact that there are no braces to indicate blocks of code for class and function definitions or flow control. Blocks of code are denoted by line indentation, which is rigidly enforced. The number of spaces in the indentation is variable, but all statements within the block must be indented the same amount. Both blocks in this example are fine:
if True:
print "True"
else:
print "False"
However, the second block in this example will generate an error:
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
Thus, in Python all the continous lines indented with similar number of spaces would form a block. Following is the example having various statement blocks: Note: Don't try to understand logic or different functions used. Just make sure you undertood various blocks even if they are without braces.
#!/usr/bin/python
import sys try:
# open file stream file = open(file_name, "w")
except IOError:
print "There was an error writing to", file_name sys.exit()
print "Enter '",
file_finish, print "' When finished"
while file_text != file_finish:
file_text = raw_input("Enter text: ")
if file_text == file_finish:
# close the file file.close
break
file.write(file_text)
file.write("\n") file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
print "Next time please enter something" sys.exit() try:
file = open(file_name, "r") except IOError:
print "There was an error reading file"
sys.exit() file_text = file.read()
file.close() print file_text
Python
Program:
INTERACTIVE
MODE
PROGRAMMING:
Invoking the interpreter without passing a script file as a parameter brings up the following prompt: $ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> Type the following text to the right of the Python prompt and press the Enter key: >>> print "Hello, Python!"; If you are running new version of Python, then you would need to use print statement with parenthesis like print ("Hello, Python!");. However at Python version 2.4.3, this will produce following result: Hello, Python! SCRIPT
MODE
PROGRAMMING:
Invoking the interpreter with a script parameter begins execution of the script and continues until the script is finished. When the script is finished, the interpreter is no longer active. Let us write a simple Python program in a script. All python files will have extension .py. So put the following source code in a test.py file. print "Hello, Python!"; Here, I assumed that you have Python interpreter set in PATH variable. Now, try to run this program as follows:
$ python test.py
Hello, Python!
Let's try another way to execute a Python script. Below is the modified test.py file: #!/usr/bin/python
print "Hello, Python!";
Here, I assumed that you have Python interpreter available in /usr/bin directory. Now, try to run this program as follows:
$ chmod +x test.py # This is to make file executable $./test.py
This will produce the following result:
Hello, Python!
Python
Identifiers:
A Python identifier is a name used to identify a variable, function, class, module or other object. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero or more letters, underscores and digits (0 to 9). Python does not allow punctuation characters such as @, $ and % within identifiers. Python is a case sensitive programming language. Thus, Manpower and manpower are two different identifiers in Python. Here are following identifier naming convention for Python: • Class names start with an uppercase letter and all other identifiers with a lowercase letter.
• Starting an identifier with a single leading underscore indicates by convention that the identifier is meant to be private. • Starting an identifier with two leading underscores indicates a strongly private identifier.
• If the identifier also ends with two trailing underscores, the identifier is a language-defined special name
Lines
and
Indentation:
One of the first caveats programmers encounter when learning Python is the fact that there are no braces to indicate blocks of code for class and function definitions or flow control. Blocks of code are denoted by line indentation, which is rigidly enforced. The number of spaces in the indentation is variable, but all statements within the block must be indented the same amount. Both blocks in this example are fine:
if True:
print "True"
else:
print "False"
However, the second block in this example will generate an error:
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
Thus, in Python all the continous lines indented with similar number of spaces would form a block. Following is the example having various statement blocks: Note: Don't try to understand logic or different functions used. Just make sure you undertood various blocks even if they are without braces.
#!/usr/bin/python
import sys try:
# open file stream file = open(file_name, "w")
except IOError:
print "There was an error writing to", file_name sys.exit()
print "Enter '",
file_finish, print "' When finished"
while file_text != file_finish:
file_text = raw_input("Enter text: ")
if file_text == file_finish:
# close the file file.close
break
file.write(file_text)
file.write("\n") file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
print "Next time please enter something" sys.exit() try:
file = open(file_name, "r") except IOError:
print "There was an error reading file"
sys.exit() file_text = file.read()
file.close() print file_text
No comments:
Post a Comment