GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the...

24
GIT461 GIS Python Programming Fundamentals

Transcript of GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the...

Page 1: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

GIT461 GIS

Python Programming Fundamentals

Page 2: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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”

Page 3: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

PythonWin Environment• Interpreter window is

displayed first.• You can type and

execute simple statements in this window.

Page 4: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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.

Page 5: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

PythonWin Environment

• To load an existing python script select “File > Open” to load script into an edit window.

Page 6: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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

Page 7: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Python Programming Fundamentals

• Google “Python Language Reference” to load this help file

Page 8: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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

Page 9: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Python Assignment Statement

• The “=“ sign is the assignment operator as it is in most programming languagesX = 1Print X # the number “1” will appear on the screenX = X + 5Print X # the number “6” will appear on the screen

Page 10: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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 linex1param = float(StripComma(sys.argv[1])) # x1y1param = float(StripComma(sys.argv[2])) # y1x2param = float(StripComma(sys.argv[3])) # x2y2param = float(StripComma(sys.argv[4])) # y2

Page 11: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Python Operators (in order of precedence)

• Multiplication: *• Division: /• Modulus: %• Addition: +• Subtraction: -

Page 12: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Expressions• Expressions are combinations of data and operators:

Page 13: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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 windowy = pow(2,3)print y # the number “8” would appear in the interactive window

Page 14: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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

Page 15: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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.

Page 16: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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 = 10If x == 10 :

print “X=10”

Note: everything indented Below the “If” statement isPart of the statement.

Page 17: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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”

Page 18: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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 = 0While i <= 10 : print I i = i + 1 # you could also use i += 1

Page 19: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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

Page 20: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Getting User Input: command line

• Command line parameters are entered at run time in the “Run Script” window

Page 21: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

Getting User Input: “Input” function• The “input” function prompts the user for

input during the running of the script

Page 22: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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).

Page 23: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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

Page 24: GIT461 GIS Python Programming Fundamentals. Python Programming Environment We will use the “PythonWin” version 2.7 system This programming environment.

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