DR.C S Prasanth-Physics

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 42

Introduction to Python

Programming
Dr. C S Prasanth
Assistant Professor
PG Department of Physics
N S S College Pandalam

21JUN19
Syllabus
What is Python?
• Python is a high-level programming language
• Open source and community driven
• “Batteries Included”
▫ a standard distribution includes many modules
• Dynamic typed
• Source can be compiled or run just-in-time
4

CS 331 7/26/2017

python Timeline/History
• Python was conceived in the late 1980s.
▫ Guido van Rossum, Benevolent Dictator For Life
▫ Rossum is Dutch, born in Netherlands, Christmas break
bored, big fan of Monty python’s Flying Circus
• In 1991 python 0.9.0 was published and reached the masses
through alt.sources
• In January of 1994 python 1.0 was released
▫ Functional programming tools like lambda, map, filter, and reduce
▫ comp.lang.python formed, greatly increasing python’s userbase
5

CS 331 7/26/2017

python Timeline/History
• In 1995, python 1.2 was released.
• By version 1.4 python had several new features
▫ Keyword arguments (similar to those of common lisp)
▫ Built-in support for complex numbers
▫ Basic form of data-hiding through name mangling (easily
bypassed however)
• Computer Programming for Everybody (CP4E) initiative
▫ Make programming accessible to more people, with basic “literacy”
similar to those required for English and math skills for some jobs.
▫ Project was funded by DARPA
▫ CP4E was inactive as of 2007, not so much a concern to get employees
programming “literate”
6

CS 331 7/26/2017

python Timeline/History
• In 2000, Python 2.0 was released.
▫ Introduced list comprehensions similar to Haskells
▫ Introduced garbage collection
• In 2001, Python 2.2 was released.
▫ Included unification of types and classes into one hierarchy,
making pythons object model purely Object-oriented
▫ Generators were added(function-like iterator behavior)
Python Interfaces
• IDLE – a cross-platform Python development
environment
• PythonWin – a Windows only interface to
Python
• Python Shell – running 'python' from the
Command Line opens this interactive shell
IDLE – Development Environment
• IDLE helps you program in
Python by:
▫ color-coding your program
code
▫ debugging
▫ auto-indent
▫ interactive shell
Example Python
• Hello World
print “hello world”
• Prints hello world to standard
out
• Open IDLE and try it out
yourself
• Follow along using IDLE
10

Programming basics
• code or source code: The sequence of instructions in a program.
• syntax: The set of legal structures and commands that can be used in a particular
programming language.
• output: The messages printed to the user by a program.
• console: The text box onto which output is printed.
▫ Some source code editors pop up the console as an external window, and others
contain their own console window.
Compiling and interpreting
• Many languages require you to compile (translate) your program into
a form that the machine understands.
compile execute
source code byte code output
Hello.java Hello.class

• Python is instead directly interpreted into machine instructions.


interpret
source code output
Hello.py
12

Real numbers
• Python can also manipulate real numbers.
▫ Examples: 6.022 -15.9997 42.0 2.143e17

• The operators + - * / % ** ( ) all work for real numbers.


▫ The / produces an exact answer: 15.0 / 2.0 is 7.5
▫ The same rules of precedence also apply to real numbers:
Evaluate ( ) before * / % before + -

• When integers and reals are mixed, the result is a real number.
▫ Example: 1 / 2.0 is 0.5
▫ The conversion occurs on a per-operator basis.
▫ 7 / 3 * 1.2 + 3 / 2
▫ 2 * 1.2 + 3 / 2
▫ 2.4 + 3 / 2
▫ 2.4 + 1
▫ 3.4
13

Math commands
• Python has useful commands for performing calculations.
Command name Description
abs(value) absolute value Constant Description
e 2.7182818...
ceil(value) rounds up
pi 3.1415926...
cos(value) cosine, in radians
floor(value) rounds down
log(value) logarithm, base e
log10(value) logarithm, base 10
max(value1, value2) larger of two values
min(value1, value2) smaller of two values
round(value) nearest whole number
sin(value) sine, in radians
sqrt(value) square root

• To use many of these commands, you must write the following at the
top of your Python program:
from math import *
14

Variables
• variable: A named piece of memory that can store a
value.
▫ Usage:
 Compute an expression's result,
 store that result into a variable,
 and use that variable later in the program.

• assignment statement: Stores a value into a variable.


▫ Syntax:
name = value
▫ A variable that has been given a value can be used in
expressions.
15

print

• print : Produces text output on the console.


• Syntax:
print "Message"
print Expression
▫ Prints the given text message or expression value on the console, and moves
the cursor down to the next line.
print Item1, Item2, ..., ItemN
▫ Prints several messages and/or expressions on the same line.

• Examples:
print "Hello, world!"
age = 45
print "You have", 65 - age, "years until retirement"
Output:
Hello, world!
You have 20 years until retirement
More than just printing
• Python is an object oriented language
• Practically everything can be treated as an object
• “hello world” is a string
• Strings, as objects, have methods that return the
result of a function on the string
String Methods
• Assign a string to a variable
• In this case “hw”
• hw.title()
• hw.upper()
• hw.isdigit()
• hw.islower()
String Methods
• The string held in your variable remains the
same
• The method returns an altered string
• Changing the variable requires reassignment
▫ hw = hw.upper()
▫ hw now equals “HELLO WORLD”
19

input
• input : Reads a number from user input.
▫ You can assign (store) the result of input into a variable.

▫ Example:
age = input("How old are you? ")
print "Your age is", age
print "You have", 65 - age, "years until retirement"
Output:
How old are you? 53
Your age is 53
You have 12 years until retirement
Other Python Objects
• Lists (mutable sets of strings)
▫ var = [] # create list
▫ var = [‘one’, 2, ‘three’, ‘banana’]
• Tuples (immutable sets)
▫ var = (‘one’, 2, ‘three’, ‘banana’)
• Dictionaries (associative arrays or ‘hashes’)
▫ var = {} # create dictionary
▫ var = {‘lat’: 40.20547, ‘lon’: -74.76322}
▫ var[‘lat’] = 40.2054
• Each has its own set of methods
Tuples
• A tuple is a sequence of immutable Python objects.,
means you cannot update or change the values of
tuple elements
• Tuples are sequences, just like lists.
• The differences between tuples and lists are, the
tuples cannot be changed unlike lists and tuples use
parentheses, whereas lists use square brackets.
• Like string indices, tuple indices start at 0
Accessing Values in Tuples
• To access values in tuple, use the square brackets
for slicing along with the index or indices to
obtain value available at that index. For example

#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
Basic Tuples Operations
• Tuples respond to the + and * operators much
like strings; they mean concatenation and
repetition here too, except that the result is a
new tuple, not a string.
Indentation and Blocks
• Python uses whitespace and indents to denote
blocks of code
• Lines of code that begin a block end in a colon:
• Lines within the code block are indented at the
same level
• To end a code block, remove the indentation
• You'll want blocks of code that run only when
certain conditions are met
Repetition (loops)
and Selection (if/else)

25
Conditional Branching
• if and else
if variable == condition:
#do something based on v == c
else:
#do something based on v != c
• elif allows for additional branching
if condition:
elif another condition:

else: #none of the above
27

The for loop


• for loop: Repeats a set of statements over a group of values.

▫ Syntax:
for variableName in groupOfValues:
statements
 We indent the statements to be repeated with tabs or spaces.
 variableName gives a name to each value, so you can refer to it in the statements.
 groupOfValues can be a range of integers, specified with the range function.

▫ Example:
for x in range(1, 6):
print x, "squared is", x * x

Output:
1 squared is 1
2 squared is 4
3 squared is 9
4 squared is 16
5 squared is 25
28

range
• The range function specifies a range of integers:

 range(start, stop) - the integers between start (inclusive)


and stop (exclusive)
▫ It can also accept a third value specifying the change between values.
 range(start, stop, step) - the integers between start (inclusive)
and stop (exclusive) by step
▫ Example:
for x in range(5, 0, -1):
print x

Output:
5
4
3
2
1
29

Cumulative loops
• Some loops incrementally compute a value that is initialized
outside the loop. This is sometimes called a cumulative sum.
sum = 0
for i in range(1, 11):
sum = sum + (i * i)
print "sum of first 10 squares is", sum

Output:
sum of first 10 squares is 385
Looping with For
• For allows you to loop over a block of code a set
number of times
• For is great for manipulating lists:
a = ['cat', 'window', 'defenestrate']
for x in a:
print x, len(x)
Results:
cat 3
window 6
defenestrate 12
Looping with For
• We could use a for loop to perform
geoprocessing tasks on each layer in a list
• We could get a list of features in a feature class
and loop over each, checking attributes
• Anything in a sequence or list can be used in a
For loop
• Just be sure not to modify the list while looping
32

if
• if statement: Executes a group of statements only if a
certain condition is true. Otherwise, the statements
are skipped.
▫ Syntax:
if condition:
statements

• Example:
gpa = 3.4
if gpa > 2.0:
print "Your application is accepted."
33

while
• while loop: Executes a group of statements as long as a condition is True.
▫ good for indefinite loops (repeat an unknown number of times)
• Syntax:
while condition:
statements
• Example:
number = 1
while number < 200:
print number,
number = number * 2

▫ Output:
1 2 4 8 16 32 64 128
34

Logic
• Many logical expressions use relational operators:
Operator Meaning Example Result
== equals 1 + 1 == 2 True
!= does not equal 3.2 != 2.5 True
< less than 10 < 5 False
> greater than 10 > 5 True
<= less than or equal to 126 <= 100 False
>= greater than or equal to 5.0 >= 5.0 True

• Logical expressions can be combined with logical operators:


Operator Example Result
and 9 != 6 and 2 < 3 True
or 2 == 3 or -1 < 5 True
not not 7 > 0 False
Text and File Processing

35
Modules
• Modules are additional pieces of code that
further extend Python’s functionality
• A module typically has a specific function
▫ additional math functions, databases, network…
• Python comes with many useful modules
• arcgisscripting is the module we will use to load
ArcGIS toolbox functions into Python
Modules
• Modules are accessed using import
▫ import sys, os # imports two modules
• Modules can have subsets of functions
▫ os.path is a subset within os
• Modules are then addressed by
modulename.function()
▫ sys.argv # list of arguments
▫ filename = os.path.splitext("points.txt")
▫ filename[1] # equals ".txt"
Files
• Files are manipulated by creating a file object
▫ f = open("points.txt", "r")
• The file object then has new methods
▫ print f.readline() # prints line from file
• Files can be accessed to read or write
▫ f = open("output.txt", "w")
▫ f.write("Important Output!")
• Files are iterable objects, like lists
39

Strings
• string: A sequence of text characters in a program.
▫ Strings start and end with quotation mark " or apostrophe ' characters.
▫ Examples:
"hello"
"This is a string"
"This, too, is a string. It can be very long!"

• A string may not span across multiple lines or contain a " character.
"This is not
a legal String."
"This is not a "legal" String either."
• A string can represent characters by preceding them with a backslash.
▫ \t tab character
▫ \n new line character
▫ \" quotation mark character
▫ \\ backslash character

▫ Example: "Hello\tthere\nHow are you?"


40

Indexes
• Characters in a string are numbered with indexes starting at 0:
▫ Example:
name = "P. Diddy"

index 0 1 2 3 4 5 6 7
character P . D i d d y

• Accessing an individual character of a string:


variableName [ index ]
▫ Example:
print name, "starts with", name[0]
Output:
P. Diddy starts with P
41

String properties
• len(string) - number of characters in
a string
(including spaces)
• str.lower(string) - lowercase version of a
string
• str.upper(string) - uppercase version of a
string
42

File processing
• Many programs handle data, which often comes
from files.

• Reading the entire contents of a file:


variableName = open("filename").read()

Example:
file_text =
open("bankaccount.txt").read()

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy