240 likes | 366 Views
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
E N D
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 line-by-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 .pyextention. • 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])) # x1 y1param = float(StripComma(sys.argv[2])) # y1 x2param = float(StripComma(sys.argv[3])) # x2 y2param = float(StripComma(sys.argv[4])) # 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