Day 3 – Lesson 12 More about strings

Preview:

DESCRIPTION

Day 3 – Lesson 12 More about strings. Python Mini-Course University of Oklahoma Department of Psychology. Lesson objectives. Use common string methods Use escape sequences to represent special characters - PowerPoint PPT Presentation

Citation preview

Python Mini-CourseUniversity of Oklahoma

Department of Psychology

Day 3 – Lesson 12More about strings

05/02/09Python Mini-Course: Day 3 – Lesson 121

Lesson objectives

1. Use common string methods2. Use escape sequences to represent

special characters3. Use string formatting codes to

specify the format of strings for printing and file output

05/02/09Python Mini-Course: Day 3 – Lesson 122

String methods

Like everything else in Python, strings are objectsObjects have methods that are invoked using dot notationobject.method([arguments])

05/02/09Python Mini-Course: Day 3 – Lesson 123

Examples

word = 'banana'new_word = word.upper()print new_word

index = word.find('a')print index

05/02/09Python Mini-Course: Day 3 – Lesson 124

String methods

For a complete listing, seehttp://docs.python.org/library/stdtypes.html#string-methods

05/02/09Python Mini-Course: Day 3 – Lesson 125

Search methods

str.find(sub[, start[, end]]) print word.find('g',2,4)str.index(sub[, start[, end]]) print word.index('g',2,4)str.count(sub[, start[, end]]) print word.count('a')

05/02/09Python Mini-Course: Day 3 – Lesson 126

Formatting methods(return a new string)

str.lower()str.upper()str.title()str.swapcase()str.strip([chars])str.lstrip([chars])str.rstrip([chars])

05/02/09Python Mini-Course: Day 3 – Lesson 127

Examples: string_methods2.py

s = ' NOBODY expects the Spanish \ Inquisition!!!'

print s.lower()

print s.upper()

print s.title()

print s.swapcase()

print s.strip()

print s.lstrip()

print s.rstrip('!')

05/02/09Python Mini-Course: Day 3 – Lesson 128

Format checking methods(return a Boolean value)

str.isalnum()str.isalpha()str.isdigit()str.islower()str.isupper()str.istitle()

05/02/09Python Mini-Course: Day 3 – Lesson 129

Splitting and joining*

str.split([sep[, maxsplit]])str.splitlines([keepends])str.join(seq)

*We'll revisit these next week when we cover lists

05/02/09Python Mini-Course: Day 3 – Lesson 1210

Special characters

To express special characters in Python strings, use Standard C style escape sequencessee

http://docs.python.org/reference/lexical_analysis.html#string-literals

05/02/09Python Mini-Course: Day 3 – Lesson 1211

05/02/09Python Mini-Course: Day 3 – Lesson 1212

Escape Sequence

Meaning

\\ Backslash (\)

\' Single quote (')

\" Double quote (")

\b ASCII Backspace (BS)

\f ASCII Formfeed (FF)

\n ASCII Linefeed (LF)

\r ASCII Carriage Return (CR)

\t ASCII Horizontal Tab (TAB)

\uxxxx Character with 16-bit hex value xxxx (Unicode only)

\xhh Character with hex value hh (7-bit ASCII)

Example 1: squares.py

print 'x\ty'for x in range(1,10): y = x**2 print str(x) + '\t' + str(y)

05/02/09Python Mini-Course: Day 3 – Lesson 1213

Example 1: squares.py

print 'x\ty\n--\t--'for x in range(1,10): y = x**2 print str(x) + '\t' + str(y)

05/02/09Python Mini-Course: Day 3 – Lesson 1214

Example 2: square_roots.py

import mathprint 'x\ty\n--\t--'for x in range(1,10): y = math.sqrt(x) print str(x) + '\t' + str(y)

05/02/09Python Mini-Course: Day 3 – Lesson 1215

Formatting string conversions

You can use the string formatting operator % to replace values within a string

Example: s = 'The knights who say %s' % 'Ni' print s

05/02/09Python Mini-Course: Day 3 – Lesson 1216

Formatting string conversions

You can do multiple replacements using % within a single string

Example: s = 'The %s who say %s' % \ ('Knights', 'Ni') print s

05/02/09Python Mini-Course: Day 3 – Lesson 1217

Improving square_roots.py

import mathprint 'x\ty\n--\t--'for x in range(1,10): y = math.sqrt(x) print '%s\t%s' % (x, y)

05/02/09Python Mini-Course: Day 3 – Lesson 1218

String formatting codes

Syntax %[(name)][flags][width][.precision]code

Flags - left-justify

+ numeric sign (+/-)

space blank before positive numbers

0 zero fill

05/02/09Python Mini-Course: Day 3 – Lesson 1219

String formatting codes

Syntax %[(name)][flags][width][.precision]code

WidthNumber indicating the total field width

(max number of characters)Precision

Number of digits after the decimal point

05/02/09Python Mini-Course: Day 3 – Lesson 1220

05/02/09Python Mini-Course: Day 3 – Lesson 1221

Code Meaning Code

Meaning

s String e Floating-point exponent

c Character E e w/ uppercase

d Decimal (integer)

f Floating-point decimal

i Integer F f w/ uppercase

u Unsigned (integer)

g e or f

% Literal '%' G E or F

Examples: integers

x = 59print 'x = %d' % xprint 'x = %+d' % xprint 'x = %+d%%' % xprint 'x = %+6d%%' % xprint 'x = %-6d' % xprint 'x = %-6d%%' % xprint 'x = %06d' % x

05/02/09Python Mini-Course: Day 3 – Lesson 1222

Examples: floats

x = 12.3456789print 'x = %d' % xprint 'x = %f' % xprint 'x = %2.4f' % xprint 'x = %+2.4f' % xprint 'x = %06.2f' % x

05/02/09Python Mini-Course: Day 3 – Lesson 1223

Examples: exponential notation

x = 1.34e-6print 'x = %f' % xprint 'x = %e' % xprint 'x = %g' % x

05/02/09Python Mini-Course: Day 3 – Lesson 1224

Example: square_roots2.py

import mathstart, stop = 1, 9print '%s\t%s' % \ ('x'.center(3), 'y'.center(6))print '%s\t%s' % (3*'-', 6*'-')for x in range(start, stop+1): y = math.sqrt(x) print '%3d\t%2.4f' % (x, y)

05/02/09Python Mini-Course: Day 3 – Lesson 1225

Recommended