/
Introduction to Computing Using Python Introduction to Computing Using Python

Introduction to Computing Using Python - PowerPoint Presentation

test
test . @test
Follow
409 views
Uploaded On 2018-02-06

Introduction to Computing Using Python - PPT Presentation

Text Data File IO and Exceptions Strings revisited Formatted ouput File InputOutput Errors and Exceptions Introduction to Computing Using Python String representations gtgtgt excuse I am sick ID: 628640

sick excuse print file excuse sick file print line infile open txt syntax outfile invalid syntaxerror write computing format read string introduction

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Introduction to Computing Using Python" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Introduction to Computing Using Python

Text Data, File I/O, and Exceptions

Strings, revisited

Formatted

ouput

File Input/Output

Errors and ExceptionsSlide2

Introduction to Computing Using Python

String representations

>>> excuse = 'I am sick'

>>> excuse = "I am sick"

>>>

>>> excuse = 'I am sick'

>>> excuse = "I am sick"

>>> excuse = 'I'm sick'

SyntaxError: invalid syntax>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>> excuse'I\'m "sick"'>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>> excuse'I\'m "sick"'>>> print(excuse)I'm "sick">>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>> excuse'I\'m "sick"'>>> print(excuse)I'm "sick”>>> excuse = 'I\'m ...\n... "sick"'>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick”>>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>> excuse'I\'m "sick"'>>> print(excuse)I'm "sick”>>> excuse = 'I\'m ...\n... "sick"'>>> excuse'I\'m ...\n... "sick"'>>>

>>> excuse = 'I am sick'>>> excuse = "I am sick">>> excuse = 'I'm sick'SyntaxError: invalid syntax>>> excuse = "I'm sick">>> excuse = "I'm "sick""SyntaxError: invalid syntax>>> excuse = 'I'm "sick"'SyntaxError: invalid syntax>>> excuse = 'I\'m "sick"'>>> excuse'I\'m "sick"'>>> print(excuse)I'm "sick”>>> excuse = 'I\'m ...\n... "sick"'>>> excuse'I\'m ...\n... "sick"'>>> print(excuse)I'm ...... "sick"

A string value is represented as a sequence of characters delimited by quotes

Quotes can be single (') or double (")

What if ' or " is one of the string characters?

What if the string includes both ' and "?

Escape sequence \' or \" is used to indicate that a quote is not the string delimiter but is part of the string value

Function print() interprets the escape sequence

Another example:

\

n

is an escape sequence that represents a new line Slide3

The indexing operator returns the character at index

i (as a single character string).

Introduction to Computing Using Python

Indexing operator, revisited

'A'

'

p

''p''l''

e's[0] =s[1] =s[2] =s[3] =s[4] =

s =01342>>>

s = 'Apple'>>> s[0]'A'>>> s[1]'p'>>> s[4]'e''A p p l e'-5

-4-2-1-3s[0:2] ='A p's[1:4] =

'p p l's[2:5] ='p l e's[2:] ='p

l e's[-3:-1] ='p l's[:2] ='A p'>>> s = 'Apple'

>>> s[0:2]'Ap'>>> s[1:4]'ppl'>>> s[2:5]'ple'>>> s[2:]'ple'>>> s[:2]'Ap'>>> s[-3:-1]'pl'The indexing operator can also be used to obtain a slice of a strings[i:j] : the slice of s starting at index i and ending before index js[i

:] : the slice of s starting at index is[:j] : the slice of s ending before index jSlide4

Introduction to Computing Using Python

Exercise

The indexing operator can also be used to obtain slices of a list as well. Let list

lst

refer to list

['a', '

b', 'c', 'd', 'e', 'f', 'g', 'h’]Write Python expressions using list lst and the indexing operator that evaluate to:['a', 'b', 'c', 'd']['d

', 'e', 'f']['d']['f', 'g']['d', 'e', 'f', 'g’, 'h']['f', 'g', 'h']

>>> lst[:4]['a', 'b', 'c', 'd']>>> lst[3:6]['d', 'e', 'f']>>> lst[3:4]['d']>>> lst[-3:-1]['f', 'g']>>> lst[3:]['d', 'e', 'f', '

g’, 'h']>>> lst[-3:]['f', 'g', 'h']Slide5

Usage

Explanations.capitalize

()returns a copy of s with first character capitalized

s.count(target

)

returns the number of

occurences

of target in ss.find(target)returns the index of the first occurrence of target in ss.lower()returns lowercase copy of s s.replace(old, new)returns copy of s with every occurrence of old replaced with news.split(sep)returns list of substrings of s

, delimited by seps.strip()returns copy of s without leading and trailing whitespaces.upper()returns lowercase copy of s Introduction to Computing Using PythonString methods>>> link = 'http://www.main.com/smith/index.html'

>>> link[:4]'http'>>> link[:4].upper()'HTTP'>>> link.find('smith')20>>> link[20:25]'smith'>>> link[20:25].capitalize()'Smith'>>> link.replace('smith', 'ferreira')'http://www.main.com/ferreira/index.html'>>> link'http://www.main.com/smith/index.html'>>> new =

link.replace('smith', 'ferreira')>>> new'http://www.main.com/ferreira/index.html'>>> link.count('/')4>>> link.split('/')['http:', '', 'www.main.com', 'smith', 'index.html']Strings are immutable; none of the string methods modify string linkStrings are immutable;

none of the string methods modify string sSlide6

Introduction to Computing Using Python

Exercise

>>> events = '9/13 2:30 PM\n9/14 11:15 AM\n9/14 1:00 PM\n9/15 9:00 AM'

>>>

print(events

)

9/13 2:30 PM

9/14 11:15 AM9/14 1:00 PM9/15 9:00 AM>>> events.count('9/14')2>>> events.find('9/14')13>>> events.find('9/15')40>>> events[13:40]'9/14 11:15 AM\n9/14 1:00 PM\n’>>> lst = events[13:40].strip().split('\n')

>>> lst['9/14 11:15 AM', '9/14 1:00 PM']>>> Write expressions that compute:the number of events on 9/14the index of the substring describing the 1st event on 9/14the index just past the substring describing the last event on 9/14the list of substrings describing the events on 9/14 String events describes the schedule of 4 events spread across 3 daysSlide7

Usage

Explanationstr.maketrans(old

, new)returns a table mapping characters in string

old

to characters in string

new

s.translate(table

)returns a copy of s in which the original characters are replaced using the mapping described by table Introduction to Computing Using PythonString methods>>> event = "Tuesday, Feb 29, 2012 -- 3:35 PM">>>

Suppose we need to pick up the date and time components of string event>>> event = "Tuesday, Feb 29, 2012 -- 3:35 PM">>> table = str.maketrans(':,-', 3*' ')>>> event.translate(table)'Tuesday Feb 29 2012 3 35 PM'>>>

>>> event = "Tuesday, Feb 29, 2012 -- 3:35 PM">>> table = str.maketrans(':,-', 3*' ')>>> event.translate(table)'Tuesday Feb 29 2012 3 35 PM'>>> event.translate(table).split()['Tuesday', 'Feb', '29', '2012', '3', '35', 'PM']>>> Puntuation makes it difficult to use method split()Solution: replace punctuation with blank spacesSlide8

>>> prod = 'morels'

>>> cost = 139

>>> wght = 1/2

>>> total = cost *

wght

>>>

>>> prod = 'morels'

>>> cost = 139>>> wght = 1/2>>> total = cost * wght>>> print(prod, cost, wght, total)morels 139 0.5 69.5>>>

>>> prod = 'morels'>>> cost = 139>>> wght = 1/2>>> total = cost * wght>>> print(prod, cost, wght, total)morels 139 0.5 69.5>>> print(prod, cost, wght, total, sep='; ')morels; 139; 0.5; 69.5>>>

>>> prod = 'morels'>>> cost = 139>>> wght = 1/2>>> total = cost * wght>>> print(prod, cost, wght, total)morels 139 0.5 69.5>>> print(prod, cost, wght, total, sep='; ')morels; 139; 0.5; 69.5>>> print(prod, cost, wght, total, sep=':::')morels:::139:::0.5:::69.5

>>> Introduction to Computing Using PythonBuilt-in function print(), revisitedFunction print() takes 0 or more arguments and prints them in the shellA blank space separator is printed between the arguments

The sep argument allows for customized separatorstheir string representationSlide9

>>> pets = ['boa', 'cat', 'dog']

>>> for pet in pets:

print(pet)

boa

cat

dog

>>>Introduction to Computing Using PythonBuilt-in function print(), revisited

Function print() prints, by default, a newline character after printing its argumentsThe end argument allows for customized end characters>>> pets = ['boa', 'cat', 'dog']>>> for pet in pets: print(pet) boa\n cat

\ndog\n>>>>>> pets = ['boa', 'cat', 'dog']>>> for pet in pets: print(pet)

boacatdog>>> for pet in pets: print(pet, end=', ') boa, cat, dog, >>>>>> pets = ['boa', 'cat', 'dog']>>> for pet in pets: print(pet)

boacatdog>>> for pet in pets: print(pet, end=', ') boa, cat, dog, >>> for pet in pets: print(pet, end='!!! ') boa!!! cat!!! dog!!! >>> Slide10

Introduction to Computing Using Python

General output formatting

>>> weekday = 'Wednesday'

>>> month = 'March'

>>> day = 10

>>> year = 2010

>>> hour = 11

>>> minute = 45>>> second = 33>>>Suppose we have

>>> weekday = 'Wednesday'>>> month = 'March'>>> day = 10>>> year = 2010>>> hour = 11>>> minute = 45>>> second = 33>>> print(hour+':'+minute+':'+second)Traceback (most recent call last): File "<pyshell#113>", line 1, in <module> print(hour+':'+minute+':'+second)TypeError: unsupported operand type(s) for +: 'int' and 'str'>>>

and we want to print Wednesday, March 10, 2010 at 11:45:33 >>> weekday = 'Wednesday'>>> month = 'March'>>> day = 10>>> year = 2010>>> hour = 11>>> minute = 45>>> second = 33>>> print(hour+':'+minute+':'+second)Traceback (most recent call last): File "<pyshell#113>", line 1, in <module> print(hour+':'+minute+':'+second)TypeError: unsupported operand

type(s) for +: 'int' and 'str'>>> print(str(hour)+':'+str(minute)+':'+str(second))11:45:33>>>>>> weekday = 'Wednesday'>>> month = 'March'>>> day = 10>>> year = 2010>>> hour = 11>>> minute = 45>>> second = 33>>> print(hour+':'+minute+':'+second)Traceback (most recent call last): File "<pyshell#113>", line 1, in <module>

print(hour+':'+minute+':'+second)TypeError: unsupported operand type(s) for +: 'int' and 'str'>>> print(str(hour)+':'+str(minute)+':'+str(second))11:45:33>>> print('{}:{}:{}'.format(hour, minute, second))11:45:33Slide11

Introduction to Computing Using Python

Method

format()

of class

str

>>> day = 'Wednesday'

>>> month = 'March'

>>> weekday = 'Wednesday'>>> month = 'March'>>> day = 10>>> year = 2010>>> year = 2012>>> hour = 11>>> minute = 45>>> second = 33>>> print('{}:{}:{}'.format(hour, minute, second))11:45:33>>>print('{}:{}:{}'.format(hour

, minute, second))format string>>> day = 'Wednesday'>>> month = 'March'>>> weekday = 'Wednesday'>>> month = 'March'>>> day = 10>>> year = 2010

>>> year = 2012>>> hour = 11>>> minute = 45>>> second = 33>>> print('{}:{}:{}'.format(hour, minute, second))11:45:33>>> print('{}, {} {}, {} at {}:{}:{}'.format(weekday, month, day, year, hour, minute, second))Wednesday, March 10, 2012 at 11:45:33placeholdersSlide12

Introduction to Computing Using Python

Specifying field width

The

format()

method can be used to line up data in columns

>>> for

i

in range(1,8): print(i, i**2, 2**i) 1 1 22 4 43 9 84 16 165 25 326 36 647 49 128>>>

>>> for i in range(1,8): print(i, i**2, 2**i) 1 1 22 4 43 9 84 16 165 25 32

6 36 647 49 128>>> for i in range(1, 8): print('{} {:2} {:3}'.format(i, i**2, 2**i)) 1 1 22 4 43 9 84 16 165 25 326 36 647 49 128>>> reserves 2 spaces for i**2

reserves 3 spaces for 2**iplus a blank space between the columnsNumbers are aligned to the rightSlide13

Numbers are aligned to the right

Introduction to Computing Using Python

Specifying field width

>>>

lst

= ['Alan Turing', 'Ken Thompson', '

Vint

Cerf']>>> for name in lst: fl = name.split() print(fl[0], fl[1]) Alan TuringKen ThompsonVint Cerf>>>

>>> lst = ['Alan Turing', 'Ken Thompson', 'Vint Cerf']>>> for name in lst: fl = name.split() print(fl[0], fl[1]) Alan TuringKen ThompsonVint Cerf>>> for name in lst: fl =

name.split() print('{:5} {:10}'.format(fl[0], fl[1])) Alan Turing Ken Thompson Vint Cerf >>>Strings are aligned to the leftThe format() method can be used to line up data in columnsSlide14

Introduction to Computing Using Python

Output format type

>>>

n

= 10

>>> '{:

b}'.format(n

)'1010'>>> '{:c}'.format(n)'\n'>>> '{:d}'.format(n)'10'>>> '{:X}'.format(n)'A'>>> '{:e}'.format(n)'1.000000e+01'>>>

Inside the curly braces of a placeholder, we can specify the field widthTypeExplanationbbinaryccharacterddecimalXhexadecimalescientificffixed-point

>>> n = 10>>> '{:b}'.format(n)'1010'>>> '{:c}'.format(n)'\n'>>> '{:d}'.format(n)'10'>>> '{:X}'.format(n)'A'>>> '{:e}'.format(n)'1.000000e+01'>>> '{:7.2f}'.format(n)' 10.00'>>>

'{:7.2f}'field widthdecimal precisionInside the curly braces of a placeholder, we can specify the field width, the type of the outputInside the curly braces of a placeholder, we can specify the field width, the type of the output, and the decimal precision Slide15

Introduction to Computing Using Python

Files and the file system

/

Applications

Users

bin

var

Firefox.appMail.app

Sharedmessipoem.txtimage.jpgContentsMacOSMail

CanonThe file system is the OS component that organizes files and provides a way to create, access, and modify filesFiles are organized into a tree structureroot folder/ApplicationsUsers

binvarFirefox.appMail.appSharedmessi

ContentsMacOSCanonfolders (or directories)folders (or directories)regular filestext file

binary fileWhile every file and folder has a name, it is the file pathname that identifies the file poem.txtAbsolute pathnames/var/poem.txt/Users/messi/poem.txt/Applications/Mail.app/

Relative pathnames (relative to current working directory Users)messi/poem.txtmessi/image.jpgSharedSlide16

Introduction to Computing Using Python

Opening and closing a file

Processing a file consists of:

Opening the file

Reading from and/or

writing to the file

Closing the file

>>> infile = open('sample.txt')Traceback (most recent call last): File "<pyshell#50>", line 1, in <module> infile = open('sample.txt')IOError: [Errno 2] No such file or directory: '

sample.txt'>>>>>> infile = open('sample.txt')Traceback (most recent call last): File "<pyshell#50>", line 1, in <module> infile = open('sample.txt')IOError: [Errno 2] No such file or directory: 'sample.txt'>>> infile = open('example.txt', '

r')>>>>>> infile = open('sample.txt')Traceback (most recent call last): File "<pyshell#50>", line 1, in <module> infile = open('sample.txt')IOError: [Errno 2] No such file or directory: 'sample.txt'>>> infile = open('example.txt', 'r')

>>> infile.close()>>> Built-in function open() is used to open a file The second (optional) argument is the file modeThe first input argument is the file pathname, whether absolute or relative with respect to the current working directory

File mode 'r' is used toopen a file for reading (rather than, say, writing)A “file” object is of a type that supports several “file” methods, including method close() that closes the file Returns a “file” object Slide17

Introduction to Computing Using Python

Open file mode

Mode

Description

r

Reading

(default)

wWriting (if file exists, content is wiped)aAppend (if file exists, writes are appended)r+Reading and WritingtText (default)bBinaryThe file mode defines how the file will be accessed

>>> infile = open('example.txt', 'rt')>>> infile = open('example.txt', 'r')>>> infile = open('example.txt', 't')>>> infile = open('example.txt')

These are all equivalentSlide18

Introduction to Computing Using Python

File methods

Usage

Description

infile.read(n

)

Read

n characters starting from cursor; if fewer than n characters remain, read until the end of file infile.read()Read starting from cursor up to the end of the file infile.readline()Read starting from cursor up to, and including, the end of line characterinfile.readlines()Read starting from cursor up to the end of the file and return list of linesoutfile.write(s)

Write string s to file outfile starting from cursorinfile.close(n)Close file infileThere are several “file” types; they all support similar “file” methods Methods

read() and readline() return the characters read as a stringMethods readlines() returns the characters read as a list of lines Method write() returns the number of characters writtenSlide19

Introduction to Computing Using Python

Reading a file

>>>

infile

=

open('example.txt

')

>>>1 The 3 lines in this file end with the new line character.\n

2 \n3 There is a blank line above this line.\n⌃⌃⌃⌃

⌃>>> infile = open('example.txt')>>> infile.read(1)'T'>>>

>>> infile = open('example.txt')>>> infile.read(1)'T'>>> infile.read(5)'he 3 '>>>>>> infile = open('example.txt')>>> infile.read(1)'T'

>>> infile.read(5)'he 3 '>>> infile.readline()'lines in this file end with the new line character.\n'>>>>>> infile = open('example.txt')>>> infile.read(1)'T'>>> infile.read(5)'he 3 '>>> infile.readline()'lines in this file end with the new line character.\

n'>>> infile.read()'\nThere is a blank line above this line.\n'>>>>>> infile = open('example.txt')>>> infile.read(1)'T'>>> infile.read(5)'he 3 '>>> infile.readline()'lines in this file end with the new line character.\n'

>>> infile.read()'\nThere is a blank line above this line.\n'>>> infile.close()>>>example.txtWhen the file is opened, a cursor is associated with the opened fileThe initial position of the cursor is:at the beginning of the file, if file mode is

rat the end of the file, if file mode is a or wSlide20

Introduction to Computing Using Python

Patterns for reading a text file

def

numChars(filename

):

'returns the number of characters in file filename'

infile = open(filename, 'r') content = infile.read() infile.close() return len(content)

Common patterns for reading a file:Read the file content into a stringRead the file content into a list of wordsRead the file content into a list of linesdef numWords(filename): 'returns the number of words in file filename' infile = open(filename) content = infile.read()

infile.close() wordList = content.split() return len(wordList)def numLines(filename): 'returns the number of lines in file filename' infile = open(filename, 'r’) lineList =

infile.readlines() infile.close() return len(lineList)Example:Slide21

1

2

34

1

T

2

341 This is the first line.2341 This is the first line. Still the first line…\n

2341 This is the first line. Still the first line…\n2 Now we are in the second line.\n341 This is the first line. Still the first line…\

n2 Now we are in the second line.\n3 Non string value like 5 must be converted first.\n41 This is the first line. Still the first line…\n2 Now we are in the second line.\n

3 Non string value like 5 must be converted first.\n4 Non string value like 5 must be converted first.\nIntroduction to Computing Using PythonWriting to a text file⌃⌃

⌃⌃⌃>>> outfile = open('test.txt', 'w')>>>

test.txt⌃⌃>>> outfile = open('test.txt', 'w

')>>> outfile.write('T')1>>>>>> outfile = open('test.txt', 'w')>>> outfile.write('T')1>>>

outfile.write('his is the first line.')22>>>>>> outfile = open('test.txt', 'w')>>> outfile.write('T')1>>> outfile.write('his is the first line.')22>>> outfile.write(' Still the first line...\n

')25>>>>>> outfile = open('test.txt', 'w')>>> outfile.write('T')1>>> outfile.write('his is the first line.')22>>> outfile.write(' Still the first line...\n')25>>> outfile.write('Now we are in the second line.\n

')31>>>>>> outfile = open('test.txt', 'w')>>> outfile.write('T')1>>> outfile.write('his is the first line.')22>>> outfile.write(' Still the first line...\n')25>>> outfile.write('Now we are in the second line.\n')31>>> outfile.write('Non

string value like '+str(5)+' must be converted first.\n')49>>>

>>> outfile = open('test.txt', 'w

')>>> outfile.write('T')1>>> outfile.write('his is the first line.')22>>> outfile.write

(' Still the first line...\n')25>>> outfile.write('Now we are in the second line.\n

')31>>> outfile.write('Non string value like '+str(5)+' must be converted first.\n

')49>>> outfile.write('Non string value like {} must be converted first.\n'.format(5))49

>>>

outfile.close

()Slide22

Introduction to Computing Using Python

Types of errors

>>> excuse = 'I'm sick'

SyntaxError

: invalid syntax

>>>

print(hour+':'+minute+':'+second

)Traceback (most recent call last): File "<pyshell#113>", line 1, in <module> print(hour+':'+minute+':'+second)TypeError: unsupported operand type(s) for +: 'int' and 'str’>>> infile = open('sample.txt')Traceback (most recent call last):

File "<pyshell#50>", line 1, in <module> infile = open('sample.txt')IOError: [Errno 2] No such file or directory: 'sample.txt’We saw different types of errors in this chapter There are basically two types of errors:syntax errorserroneous state errorsSlide23

Introduction to Computing Using Python

Syntax errors

>>> (3+4]

SyntaxError

: invalid syntax

>>> if

x

== 5 SyntaxError: invalid syntax >>> print 'hello' SyntaxError: invalid syntax >>> lst = [4;5;6] SyntaxError: invalid syntax >>> for i in range(10): print(i) SyntaxError: expected an indented block

Syntax errors are errors that are due to the incorrect format of a Python statement They occur while the statement is being translated to machine language and before it is being executed. Slide24

Introduction to Computing Using Python

Erroneous state errors

>>> 3/0

Traceback

(most recent call last):

File "<pyshell#56>", line 1, in <module>

3/0

ZeroDivisionError: division by zeroThe program execution gets into an erroneous state>>> lstTraceback (most recent call last): File "<pyshell#57>", line 1, in <module> lstNameError: name 'lst

' is not defined>>> lst = [12, 13, 14]>>> lst[3]Traceback (most recent call last): File "<pyshell#59>", line 1, in <module> lst[3]IndexError: list index out of range>>> lst * lstTraceback (most recent call last): File "<pyshell#60>", line 1, in <module> lst * lst

TypeError: can't multiply sequence by non-int of type 'list’>>> int('4.5')Traceback (most recent call last): File "<pyshell#61>", line 1, in <module> int('4.5')ValueError: invalid literal for int() with base 10: '4.5'When an error occurs, an “error” object is createdThis object has a type that is related to the type of errorThe object contains information about the error

The “error” object is called an exception; the creation of an exception due to an error is called the raising of an exception When an error occurs, an “error” object is createdThis object has a type that is related to the type of errorThe object contains information about the errorThe default behavior is to print this information and interrupt the execution of the statement.>>> int('4.5')

Traceback (most recent call last): File "<pyshell#61>", line 1, in <module> int('4.5')ValueError: invalid literal for int() with base 10: '4.5'Slide25

Introduction to Computing Using Python

Exception types

Some of the built-in

exception classes:

Exception

Explanation

KeyboardInterrupt

Raised when user hits Ctrl-C, the interrupt keyOverflowErrorRaised when a floating-point expression evaluates to a value that is too largeZeroDivisionErrorRaised when attempting to divide by 0IOErrorRaised when an I/O operation fails for an I/O-related reasonIndexErrorRaised when a sequence index is outside the range of valid indexesNameErrorRaised when attempting to evaluate an unassigned identifier (name)

TypeErrorRaised when an operation of function is applied to an object of the wrong typeValueErrorRaised when operation or function has an argument of the right type but incorrect value