270 likes | 394 Views
An Introduction to Python. Dr. Nancy Warter-Perez April 15, 2004. 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.
E N D
An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004
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 Introduction to Python
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!) Introduction to Python
Program Development Problem solving Problem specification Algorithm design Test by hand Implementation Code in target language Test code / debug Program Introduction to Python
Python Basics - Comments • Python comments # line comment • Header comments #Description of program #Written by: #Date created: #Last Modified: Introduction to Python
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) Introduction to Python
Numbers • 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 Introduction to Python
Python Basics – arithmetic operations + add - subract * multiply / divide % modulus/remainder OperatorsExample 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 Introduction to Python
Python Basics – arithmetic operations << shift left >> shift right ** raise to power OperatorsExample y=5; z=3 x = y << 1 x = y >> 2 x = y ** z x = 10 x = 1 x = 125 Introduction to Python
Relational operators == equal !=, <> not equal > greater than >= greater than or equal < less than <= less than or equal Logical operators and and or or not not Python Basics – Relational and Logical Operators Introduction to Python
Python Basics – Relational Operators • Assume x = 1, y = 4, z = 14 Introduction to Python
Python Basics – Logical Operators • Assume x = 1, y = 4, z = 14 Introduction to Python
Strings • 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] -> “!” -1 is last, -2 next to last, etc… Introduction to Python
String operations Introduction to Python
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” Introduction to Python
“blanks” Values to put in blanks Strings (3) • “%” operator:sort of “fill in the blanks” operation:mystring=“%s has %n marbles” % (“John”,35) mystring -> “John has 35 marbles” • %s replace with string • %n,%i replace with integer • %f replace with float Introduction to Python
Lists Introduction to Python
Error! Tuples • Tuples – sequence of valueslike lists, but cannot be changed after it is createdmytuple=(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 Introduction to Python
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’] -> 3mydict[75] -> 2.85mydict[‘a’] -> 4 Introduction to Python
Dictionaries Introduction to Python
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 "<interactive input>", line 1, in ? KeyError: 'red‘ Use mydict.get(“red”) instead, it returns None if key is not found Introduction to Python
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) Input/Output >>> mystr=raw_input("Enter a string:") Enter a string:Hello World! >>> mystr 'Hello World!' Introduction to Python
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! Output Introduction to Python
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 Introduction to Python
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 Introduction to Python
Running your Program • To build your program • Under File->Run… • Select No Debugging in the drop-down window • Fix any errors, then run again Introduction to Python
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 Introduction to Python