Day 3 – Lesson 12 More about strings Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 3 – Lesson 12 05/02/09
Download ReportTranscript Day 3 – Lesson 12 More about strings Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 3 – Lesson 12 05/02/09
Day 3 – Lesson 12 More about strings
Python Mini-Course University of Oklahoma Department of Psychology 1 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Lesson objectives
1.
2.
3.
Use common string methods Use escape sequences to represent special characters Use string formatting codes to specify the format of strings for printing and file output 2 Python Mini-Course: Day 3 – Lesson 12 05/02/09
String methods
Like everything else in Python, strings are objects Objects have methods that are invoked using dot notation object.method([
arguments
]) 3 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Examples
word = 'banana' new_word = word.upper() print new_word index = word.find('a') print index 4 Python Mini-Course: Day 3 – Lesson 12 05/02/09
String methods
For a complete listing, see http://docs.python.org/library/st dtypes.html#string-methods 5 Python Mini-Course: Day 3 – Lesson 12 05/02/09
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') 6 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Formatting methods (return a new string)
str.lower() str.upper() str.title() str.swapcase() str.strip([chars]) str.lstrip([chars]) str.rstrip([chars]) 7 Python Mini-Course: Day 3 – Lesson 12 05/02/09
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('!') 8 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Format checking methods (return a Boolean value)
str.isalnum() str.isalpha() str.isdigit() str.islower() str.isupper() str.istitle() 9 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Splitting and joining*
str.split([sep[, maxsplit]]) str.splitlines([keepends]) str.join(seq) *We'll revisit these next week when we cover lists 10 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Special characters
To express special characters in Python strings, use Standard C style escape sequences see http://docs.python.org/reference/lexical_ analysis.html#string-literals 11 Python Mini-Course: Day 3 – Lesson 12 05/02/09
12
Escape Sequence Meaning
\\ \' \" \b \f
\n
\r
\t
\uxxxx \xhh Backslash (\) Single quote (') Double quote (") ASCII Backspace (BS) ASCII Formfeed (FF)
ASCII Linefeed (LF)
ASCII Carriage Return (CR)
ASCII Horizontal Tab (TAB)
Character with 16-bit hex value xxxx (Unicode only) Character with hex value hh (7-bit ASCII) Python Mini-Course: Day 3 – Lesson 12 05/02/09
Example 1:
squares.py
print 'x\ty' for x in range(1,10): y = x**2 print str(x) + '\t' + str(y) 13 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Example 1:
squares.py
print 'x\ty\n--\t--' for x in range(1,10): y = x**2 print str(x) + '\t' + str(y) 14 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Example 2:
square_roots.py
import math print 'x\ty\n--\t--' for x in range(1,10): y = math.sqrt(x) print str(x) + '\t' + str(y) 15 Python Mini-Course: Day 3 – Lesson 12 05/02/09
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 16 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Formatting string conversions
You can do multiple replacements using % within a single string Example: s = 'The %s who say %s' % \ ('Knights', 'Ni') print s 17 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Improving
square_roots.py
import math print 'x\ty\n--\t--' for x in range(1,10): y = math.sqrt(x) print '%s\t%s' % (x, y) 18 Python Mini-Course: Day 3 – Lesson 12 05/02/09
String formatting codes
Syntax %[(
name
)][
flags
][
width
][.
precision
]
code
Flags left-justify + numeric sign (+/-) space blank before positive numbers 0 zero fill 19 Python Mini-Course: Day 3 – Lesson 12 05/02/09
String formatting codes
Syntax %[(
name
)][
flags
][
width
][.
precision
]
code
Width Number indicating the total field width (max number of characters) Precision Number of digits after the decimal point 20 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Code Meaning s
String c
d
i u 21 % Character Decimal (integer) Integer Unsigned (integer) Literal '%' Python Mini-Course: Day 3 – Lesson 12
Cod e
e E
f
F g
Meaning
Floating-point exponent e w/ uppercase Floating-point decimal f w/ uppercase e or f G E or F 05/02/09
Examples: integers
x = 59 print 'x = %d' % x print 'x = %+d' % x print 'x = %+d%%' % x print 'x = %+6d%%' % x print 'x = %-6d' % x print 'x = %-6d%%' % x print 'x = %06d' % x 22 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Examples: floats
x = 12.3456789
print 'x = %d' % x print 'x = %f' % x print 'x = %2.4f' % x print 'x = %+2.4f' % x print 'x = %06.2f' % x 23 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Examples: exponential notation
x = 1.34e-6 print 'x = %f' % x print 'x = %e' % x print 'x = %g' % x 24 Python Mini-Course: Day 3 – Lesson 12 05/02/09
Example: square_roots2.py
import math start, stop = 1, 9 print '%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) 25 Python Mini-Course: Day 3 – Lesson 12 05/02/09