Introduction to Python - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to Python

Description:

There are no declarations of variables. Variables take a retain the type of the ... Rejects the word if there is an apostrophe. if ''' in line: good = False ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 26
Provided by: dlaw3
Learn more at: http://www.cs.loyola.edu
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Python


1
Introduction to Python
  • Lecture 1

2
Big Picture Language Features
  • Python is interpreted
  • Not compiled
  • Object-oriented language
  • There are no declarations of variables
  • Variables take a retain the type of the data
    assigned to it
  • Whitespace is used as delimiters
  • no main method

3
First Statement
  • Hello World
  • gtgtgt print 'Hello World!'
  • Usually double and single quotes can be used
    interchangeably
  • A string in double quotes cannot contain a "
  • A string in single quotes cannot contain a '
  • Put strings in """ if you need both or newlines

Try outputting Hello World on two lines
4
Python Calculator
  • You can print the results of expressions
    (variables and functions)
  • gtgtgt print 6 5
  • gtgtgt print ((8 3) (7 / 3)) ( 5 1)
  • Integer vs. Floating point division
  • gtgtgt print 15 / 4
  • gtgtgt print 15 / 4.0

5
Using Formatted Strings
  • Combining strings and numbers
  • gtgtgt print 'The total is ', 2453
  • Combining strings with many numbers
  • gtgtgt print "The sum of d and d is d" (7, 18,
    (7 18))
  • Just like printf in C, other example codes
  • s String
  • x Hexadecimal
  • 0.2f A real number with two figures following
    the decimal point
  • 4d Leading spaces to pad the number to at
    least 4 digits
  • 04d Leading 0's to pad the number to at least
    4 digits

6
Other important features
  • Comments begin with a
  • gtgtgt print 7 5 This should print 12
  • Making use of libraries or other functions and
    methods you have written
  • gtgtgt import sys
  • gtgtgt sys.exit()
  • gtgtgt from random import
  • gtgtgt from pyrobot.brain import Brain

7
Python Error Messages
  • gtgtgt print 'fred' 7
  • Traceback (innermost last)
  • File "ltstdingt", line 1, in ?
  • TypeError cannot concatenate 'str' and 'int'
    objects
  • Errors only reported when line is encountered
  • Python's error messages are often wrong
  • Inspect the line of the error and a few above

8
Variables
  • Variables are not declared
  • Can change types with new assignments
  • gtgtgt q 7 q is currently a number
  • gtgtgt print q
  • gtgtgt q 'Seven' q is reassign to a string
  • gtgtgt print q

9
String Operators
  • operator String Concatenation
  • gtgtgt print 'Again' ' and again'
  • operator String repetition
  • gtgtgt print 'repeat ' 3
  • Combining operators
  • gtgtgt print 'Again' (' and again' 3)
  • String methods are documented here
    http//docs.python.org/lib/string-methods.html

10
Boolean Operators
C/Java Operator Python Operator
A B A and B
A B A or B
A B A B
A ! B A ! B A ltgt B
!A not A
  • Relational operators are all the same
  • 5 lt 6
  • Boolean values
  • True (case sensitive)
  • False

Try print ((5 lt 6) true)
11
Lists
  • A sequence of items
  • Has the ability to grow (unlike array)
  • Use indexes to access elements (array notation)
  • examples
  • aList
  • another 1,2,3
  • You can print an entire list or an element
  • print another
  • print another0
  • index -1 accesses the end of a list

12
List operation
  • append method to add elements (don't have to be
    the same type)
  • aList.append(42)
  • aList.append(another)
  • del removes elements
  • del aList0 removes 42
  • Concatenate lists with
  • Add multiple elements with
  • zerolist 0 5
  • Multiple assignments
  • point 1,2
  • x , y point
  • More operations can be found at
    http//docs.python.org/lib/types-set.html

13
Control Statements
  • Conditionals
  • if ltconditiongt
  • lttabgtltstatement(s)gt
  • elif ltconditiongt
  • lttabgtltstatement(s)gt
  • else
  • lttabgtltstatement(s)gt
  • Example
  • name "Jane"
  • if "a" in name
  • print "There is an 'a'"
  • else
  • print "There is not an 'a'"
  • There is no switch statement

14
Control Statements
  • Loops
  • while ltconditiongt
  • lttabgtltstatement(s)gt
  • for ltvargt in range(i,j) up to but
  • not including j
  • lttabgtltstatement(s)gt
  • Example
  • name "Jane"
  • for c in name
  • print c
  • no do while loops

15
Interacting with user
  • Obtaining data from a user
  • Use function raw_input for strings or input for
    numbers
  • Example
  • name raw_input("What's your name?")
  • Command Line arguments
  • Example
  • import sys
  • for item in sys.argv
  • print item
  • Remember sys.argv0 is the program name

16
Defining New Functions
  • Syntax
  • def ltfunction namegt(ltargument listgt)
  • lttabgtltstatementsgt
  • Remember there is not type checking
  • Function may or may not return something
  • Example
  • def times(n)
  • for i in range(1,13)
  • print "2d x 2d 3d" (i, n, in)

17
Classes
  • Begin with header line
  • class ltclassNamegt
  • Constructor and methods
  • tabbed over once
  • first argument is "self"
  • Constructor
  • def __init__(self, ltother argumentsgt)
  • lttabgtltstatement(s)gt
  • Methods
  • def ltmethod namegt (self, ltother argumentsgt)
  • lttabgtltstatement(s)gt
  • Class variables
  • self.ltvariable namegt

18
Example Class
  • class Message
  • def __init__(self, aString)
  • self.text aString
  • def printIt(self)
  • print self.text
  • def getMessage(self)
  • return self.text

Use from Message import msg
Message("hi") msg.printIt()
19
Using Files
  • Function open opens a file in the mode specified
    by the argument
  • ltfile handlegt open(ltfile namegt, ltmodegt)
  • file name is a string with path and name of the
    file
  • Possible modes
  • "r" to read
  • "w" to write
  • "rb" to read a binary file
  • "wb" to write a binary file
  • Example
  • input open("myFile.txt", "r")
  • output open("copy.txt", "w")
  • for line in input.readlines()
  • output.write(line)
  • input.close()
  • output.close()

20
Sample Program
  • file createDict.py
  • by Dawn Lawrie
  • date September 8, 2005
  • Reads the standard dictionary and creates a
    simpler
  • dictionary that only includes words in all
    lowercase letters
  • without aprostrophes
  • Opens the input and output files
  • input open("/usr/share/dict/american-english",
    "r")
  • output open("simpleDict", "w")
  • Reads each lines of the dictionary
  • for line in input.readlines()
  • Assumes that the word should not be in the
    simpler
  • dictionary
  • good False

21
Sample Program
  • Accepts the word if it contains at least
    one lowercase
  • letter
  • lowercase "abcdefghijklmnopqrstuvwxyz"
  • for c in lowercase
  • if not good and c in line
  • good True
  • Rejects the word if there is an
    apostrophe
  • if "'" in line
  • good False
  • Rejects the word if it contains a uppercase
    letter
  • if good
  • caps "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  • for c in caps
  • if good and c in line
  • good False

22
Sample Program con't
  • Outputs the word if it is acceptable
  • if good
  • output.write(line)

23
Using String Methods
  • file createDict2.py
  • by Dawn Lawrie
  • date September 8, 2005
  • code the opens files has been removed
  • Reads each lines of the dictionary
  • for line in input.readlines()
  • Removes all leading and trailing whitespace
  • word line.strip()
  • Outputs the word if all the characters are
    alphabetic
  • and they are all lowercase
  • if word.isalpha() and word.islower()
  • output.write(word "\n")

24
Pitfalls
  • My common mistakes
  • Forgetting "" in a condition or loop especially
    after else
  • Emacs helps because it won't tab over
  • Forgetting "self" before class variables
  • Without it python creates a new variable
  • Forgetting the return statement
  • This turned up as a type mismatch when I tried to
    use the results of the function which I had
    stored in another variable (Very Confusing)

25
Lab Exercise
  • Write a program in python that plays hangman
Write a Comment
User Comments (0)
About PowerShow.com