GIT461 GIS - University of South Alabama

Download Report

Transcript GIT461 GIS - University of South Alabama

GIT461 GIS
Python Programming Fundamentals
Python Programming Environment
• We will use the “PythonWin” version 2.7
system
• This programming environment includes a
code editor and a code interpreter
• A code interpreter executes statements lineby-line as you type them – very useful for
testing
• A Code editor is used to type a complete
program that is later tested and “de-bugged”
PythonWin Environment
• Interpreter window
is displayed first.
• You can type and
execute simple
statements in this
window.
PythonWin Environment
• To type a Python
script program
select “File > New
> Script”.
• Type in code and
save with a .py
extention.
• A good idea to
have a folder such
as “\PythonProgs\”
just for source
code scripts.
PythonWin Environment
• To load an
existing
python script
select “File >
Open” to load
script into an
edit window.
PythonWin Environment
•
•
•
To run a script you
should load it, and then
select “File > Run”
Note that you may enter
“command line
arguments” at this point
if needed
Select “OK” button to
run the script
Python Programming Fundamentals
• Google “Python Language Reference” to load
this help file
Python Data Types
• String: a sequence of alphanumeric characters
• Integer: a whole number that has no fractional
component
• Float: a number that contains a fractional
component
• String example: “105 Glendale Avenue” (note
that strings are enclosed in quotes)
• Integer examples: 100, -19, 0, 9999999
• Float examples: 1.0, -123.678, 1.6745E3
Python Assignment Statement
• The “=“ sign is the assignment operator as it is
in most programming languages
X=1
Print X # the number “1” will appear on the screen
X=X+5
Print X # the number “6” will appear on the screen
Python Comments
•
•
•
•
A python comment begins with a “#”.
Anything after the “#” is ignored by Python
The 1st line in the below script is a comment line- it is ignored by Python
The characters to the right of the “#” on lines 2-5 are ignored
# get x1, y1, x2, y2 from the command line
x1param = float(StripComma(sys.argv[1]))
y1param = float(StripComma(sys.argv[2]))
x2param = float(StripComma(sys.argv[3]))
y2param = float(StripComma(sys.argv[4]))
# x1
# y1
# x2
# y2
Python Operators (in order of
precedence)
•
•
•
•
•
Multiplication: *
Division: /
Modulus: %
Addition: +
Subtraction: -
Expressions
• Expressions are combinations of data and
operators:
Built-in Python Functions
• A function takes an “argument” or “arguments” and returns
a value that can be used in an assignment statement
• In the below satements abs(x) and pow(x,y) are built-in
functions in every implementation of the Python language
x = abs(-8)
print x
# the number “8” would appear in the interactive window
y = pow(2,3)
print y
# the number “8” would appear in the interactive window
Python Built-In Functions
• abs(x) # returns the absolute value of x
• float(x) # returns the string x converted to a floating
point number
• int(x) # returns the string x converted to a integer
number
• pow(x,y) # returns the number x rasied to the y power
• round(x,n) # rounds the number x to n decimal places
• str(x) # returns the string equivalent of the object x
More Complex Expressions using
Functions and Exponentiation
• Note that trig functions
use radian angular
values.
• You must convert
degrees to radians
before using the trig
functions ( radians =
degrees *
3.1416/180.0).
• Note that before using
the trig functions the
math “module” had to
be imported.
Controlling Program Flow: Conditional
Statements
• A statement uses “reserved” python language
words to initiate an action
• A conditional statement makes a decision at
run-time
X = 10
If x == 10 :
print “X=10”
Note: everything indented
Below the “If” statement is
Part of the statement.
Conditional Statements: More
Complex IF/ELIF/ELSE construct
• The “elif” and “else” keywords can be used to
construct more complex decision structures
x = random.randint(1,10)
If x == 1 :
print “you are in first place”
Elif x == 2 :
print “you are in second place”
Elif x == 3 :
print “you are in third place”
Else :
print “ sorry, you didn’t place this time”
Controlling program flow with a loop:
While statement
• While statements can be used to repeat a
section of code until some condition is
reached.
i=0
While i <= 10 :
print I
i=i+1
# you could also use i += 1
For Loops
• A “For” loop uses a “list”. First a list must be
built before it can be used in the For loop
Mylist = [“A”, “B”, “C”, “D”]
For letter in Mylist :
print letter
# the letters “A” through “D” would print to the screen
Getting User Input: command line
• Command line parameters are entered at run
time in the “Run Script” window
Getting User Input: “Input” function
• The “input” function prompts the user for
input during the running of the script
User Input: Input function
• Note that if you use the “input” function and
you enter a string value it must be enclosed in
quotes (single or double).
Functions
• A function is a stand-alone section of code
that is designed to accomplish a specific task
based on one or more parameters passed to
the function
• The function returns a calculated result so a
function normally appears in the main code to
the right of an assignment (=) statement so
the returned value is stored in the variable on
the left side of the assignment statement
Function Placement
• Functions are normally placed at the top of the main program file
because they need to be defined before they are referenced in the
main program
• Below is an example function that converts a longitude string value
(“-0883015”) to its decimal degree number equivalent