Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004.

Similar presentations


Presentation on theme: "An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004."— Presentation transcript:

1 An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004

2 4/15/04Introduction to Python2 Overview Overview of program development Python Basics Python Types and Operators Numbers and Arithmetic operators Strings Lists Dictionaries Input & Output Example amino acid search program Programming Workshop #1

3 4/15/04Introduction to Python3 Programming Language and Development Software In this program, we’ll use Python Interpretive Language Development software IDLE python gui Pythonwin (recommended) Do your work on either the hard disk or zip disk (not floppy disk, A: drive – too slow!)

4 4/15/04Introduction to Python4 Program Development Problem specification Algorithm design Test by hand Code in target language Test code / debug Program Problem solving Implementation

5 4/15/04Introduction to Python5 Python Basics - Comments Python comments # line comment Header comments #Description of program #Written by: #Date created: #Last Modified:

6 4/15/04Introduction to Python6 Python Basics - Variables Python variables are not “declared”. To assign a variable, just type: identifier=literal Identifiers Have the following restrictions: Must start with a letter or underscore (_) Case sensitive Must consist of only letters, numbers or underscore Must not be a reserved word (LP pg 137) Have the following conventions: All uppercase letters are used for constants Variable names are meaningful – thus, often multi-word Convention 1: alignment_sequence Convention 2: AlignmentSequence Python specific conventions: Avoid _X, __X__, __X, _, (LP pg 138)

7 4/15/04Introduction to Python7 Numbers Normal Integers –represent whole numbers Ex: 3, -7, 123, 76 Long Integers – unlimited size Ex: 9999999999999999999999L Floating-point – represent numbers with decimal places Ex: 1.2, 3.14159,3.14e-10 Octal and hexadecimal numbers Ex: O177, 0x9ff, Oxff Complex numbers Ex: 3+4j, 3.0+4.0j, 3J

8 4/15/04Introduction to Python8 Python Basics – arithmetic operations +add -subract *multiply /divide %modulus/remainder y=5; z=3 x = y + z x = y – z x = y * z x = y / z x = y % z x = 8 x = 2 x = 15 x = 1 x = 2 OperatorsExample

9 4/15/04Introduction to Python9 Python Basics – arithmetic operations << shift left >> shift right **raise to power y=5; z=3 x = y << 1 x = y >> 2 x = y ** z x = 10 x = 1 x = 125 OperatorsExample

10 4/15/04Introduction to Python10 Python Basics – Relational and Logical Operators Relational operators ==equal !=, <>not equal >greater than >=greater than or equal <less than <=less than or equal Logical operatorsandornot

11 4/15/04Introduction to Python11 Python Basics – Relational Operators Assume x = 1, y = 4, z = 14 ExpressionValueInterpretation x < y + z1True y == 2 * x + 30False z <= x + y0False z > x1True x != y1True

12 4/15/04Introduction to Python12 Python Basics – Logical Operators Assume x = 1, y = 4, z = 14 ExpressionValueInterpretation x<=1 and y==30False x<= 1 or y==31True not (x > 1)1True not x > 10False not (x<=1 or y==3)0False

13 4/15/04Introduction to Python13 Enclosed in single or double quotes Ex: ‘Hello!’, “Hello!”, “3.5”, “a”, ‘a’ Sequence of characters: mystring=“hello world!” mystring[0] -> “h”mystring[1] -> “e” mystring[2] -> “l”mystring[-1] -> “!” Strings -1 is last, -2 next to last, etc…

14 4/15/04Introduction to Python14 String operations mystring = “Hello World!” ExpressionValuePurpose len(mystring)12 number of characters in mystring “hello”+“world”“helloworld” Concatenate strings “%s world”%“hello”“hello world” Format strings (like sprintf) “world” == “hello” “world” == “world” 0 or False 1 or True Test for equality “a” < “b” “b” < “a” 1 or True 0 or False Alphabetical ordering

15 4/15/04Introduction to Python15 Strings (2) substrings can be reassigned: mystring=“spoons” mystring[5]=“!” mystring -> “spoon!” slicing: mystring[2:] -> “oon!” mystring[:3] -> “spo” #note last element is never included! mystring[1:3]-> “po”

16 4/15/04Introduction to Python16 Strings (3) “%” operator: sort of “fill in the blanks” operation: mystring=“%s has %n marbles” % (“John”,35) mystring -> “John has 35 marbles” %sreplace with string %n,%ireplace with integer %freplace with float Values to put in blanks “blanks”

17 4/15/04Introduction to Python17 Lists mylist=[“a”,”b”,3.58,”d”,4,0] mylist[0] mylist[2] a 3.58 Indexing mylist[-1] mylist[-2] 0404 Negative indexing (counts from end) mylist[1:4][“b”,3.58,”d”]Slicing (like strings) “b” in mylist “e” not in mylist 1 or True mylist.append(8)[“a”,”b”,3.58,”d”,4,0,8]Add to end of list

18 4/15/04Introduction to Python18 Tuples Tuples – sequence of values like lists, but cannot be changed after it is created mytuple=(1,2,3,4) mytuple=(1,”a”,”bc”,3,87.2) mytuple[1]=“3” Used when you want to pass several variables around at once Error!

19 4/15/04Introduction to Python19 Dictionaries Dictionaries – map ‘keys’ to ‘values’ like lists, but indices can be of any type Also, keys are in no particular order Eg: mydict={‘b’:3, ’a’:4, 75:2.85} mydict[‘b’] -> 3 mydict[75] -> 2.85 mydict[‘a’] -> 4

20 4/15/04Introduction to Python20 Dictionaries mydict={“r”:1,”g”:2,”y”:3.5,8.5:8,9:”nine”} mydict.keys()['y', 8.5, 'r', 'g', 9]List of the keys mydict.values()[3.5, 8, 1, 2, 'nine']List of the values mydict[“y”]3.5Value lookup mydict.has_key(“r”)True or 1Check for keys mydict.update({“a”:75}){8.5: 8, 'a': 75, 'r': 1, 'g': 2, 'y': 3.5, 9: 'nine'} Add pairs to dictionary

21 4/15/04Introduction to Python21 Dictionaries – other considerations Slicing not allowed Referencing invalid key is an error: >>> mydict={8.5: 8, 'a': 75, 'r': 1, 'g': 2, 'y': 3.5, 9: 'nine'} >>> mydict["red"] Traceback (most recent call last): File " ", line 1, in ? KeyError: 'red‘ Use mydict.get(“red”) instead, it returns None if key is not found

22 4/15/04Introduction to Python22 Input/Output Function raw_input() designed to read a line of input from the user 1 optional argument: string to prompt user If int or float desired, simply convert string: int(mystring)->convert to int (if possible) float(mystring)->convert to float (if possible) >>> mystr=raw_input("Enter a string:") Enter a string:Hello World! >>> mystr 'Hello World!'

23 4/15/04Introduction to Python23 Output Function print Prints each argument, followed by space After all arguments, prints newline Put comma after last arg to prevent newline “add” strings to avoid spaces print “a”,”b”,”c” a b c print “a”,”b”,”c”, a b c print “a”+”b”+”c” abc Newline! No Newline! No spaces!

24 4/15/04Introduction to Python24 Output Example >>> print "hello","world";print "hello","again" hello world hello again >>> print "hello","world",;print "hello","again" hello world hello again >>> print "hello %s world" % "cold and cruel" hello cold and cruel world >>> print "hello","cold"+ " " + "and","cruel","world" hello cold and cruel world

25 4/15/04Introduction to Python25 Creating a Python Program Enter your program in the editor Notice that the editor has a color coding Comments Key words Etc… Also notice that it automatically indents Don’t override!! – this is how python tells when block statements end! If doesn’t indent to proper location – indicates bug

26 4/15/04Introduction to Python26 Running your Program To build your program Under File->Run… Select No Debugging in the drop-down window Fix any errors, then run again

27 4/15/04Introduction to Python27 Programming Workshop #1 Write a Python program to compute the hydrophobicity of an amino acid Program will prompt the user for an amino acid and will display the hydrophobicity


Download ppt "An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004."

Similar presentations


Ads by Google