Download - Day 3 – Lesson 12 More about strings
![Page 1: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/1.jpg)
Python Mini-CourseUniversity of Oklahoma
Department of Psychology
Day 3 – Lesson 12More about strings
05/02/09Python Mini-Course: Day 3 – Lesson 121
![Page 2: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/2.jpg)
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
![Page 3: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/3.jpg)
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
![Page 4: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/4.jpg)
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
![Page 5: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/5.jpg)
String methods
For a complete listing, seehttp://docs.python.org/library/stdtypes.html#string-methods
05/02/09Python Mini-Course: Day 3 – Lesson 125
![Page 6: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/6.jpg)
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
![Page 7: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/7.jpg)
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
![Page 8: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/8.jpg)
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
![Page 9: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/9.jpg)
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
![Page 10: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/10.jpg)
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
![Page 11: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/11.jpg)
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
![Page 12: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/12.jpg)
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)
![Page 13: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/13.jpg)
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
![Page 14: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/14.jpg)
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
![Page 15: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/15.jpg)
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
![Page 16: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/16.jpg)
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
![Page 17: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/17.jpg)
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
![Page 18: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/18.jpg)
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
![Page 19: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/19.jpg)
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
![Page 20: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/20.jpg)
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
![Page 21: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/21.jpg)
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
![Page 22: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/22.jpg)
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
![Page 23: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/23.jpg)
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
![Page 24: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/24.jpg)
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
![Page 25: Day 3 – Lesson 12 More about strings](https://reader035.vdocuments.net/reader035/viewer/2022062408/56813098550346895d9677d5/html5/thumbnails/25.jpg)
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