250 likes | 369 Views
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
E N D
Day 3 – Lesson 12More about strings Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 3 – Lesson 12
Lesson objectives • 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 Python Mini-Course: Day 3 – Lesson 12
String methods • Like everything else in Python, strings are objects • Objects have methods that are invoked using dot notation object.method([arguments]) Python Mini-Course: Day 3 – Lesson 12
Examples word = 'banana' new_word = word.upper() print new_word index = word.find('a') print index Python Mini-Course: Day 3 – Lesson 12
String methods • For a complete listing, seehttp://docs.python.org/library/stdtypes.html#string-methods Python Mini-Course: Day 3 – Lesson 12
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') Python Mini-Course: Day 3 – Lesson 12
Formatting methods(return a new string) • str.lower() • str.upper() • str.title() • str.swapcase() • str.strip([chars]) • str.lstrip([chars]) • str.rstrip([chars]) Python Mini-Course: Day 3 – Lesson 12
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('!') Python Mini-Course: Day 3 – Lesson 12
Format checking methods(return a Boolean value) • str.isalnum() • str.isalpha() • str.isdigit() • str.islower() • str.isupper() • str.istitle() Python Mini-Course: Day 3 – Lesson 12
Splitting and joining* • str.split([sep[, maxsplit]]) • str.splitlines([keepends]) • str.join(seq) *We'll revisit these next week when we cover lists Python Mini-Course: Day 3 – Lesson 12
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 Python Mini-Course: Day 3 – Lesson 12
Example 1: squares.py print 'x\ty' for x in range(1,10): y = x**2 print str(x) + '\t' + str(y) Python Mini-Course: Day 3 – Lesson 12
Example 1: squares.py print 'x\ty\n--\t--' for x in range(1,10): y = x**2 print str(x) + '\t' + str(y) Python Mini-Course: Day 3 – Lesson 12
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) Python Mini-Course: Day 3 – Lesson 12
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 Python Mini-Course: Day 3 – Lesson 12
Formatting string conversions • You can do multiple replacements using % within a single string • Example: s = 'The %s who say %s' % \ ('Knights', 'Ni') print s Python Mini-Course: Day 3 – Lesson 12
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) Python Mini-Course: Day 3 – Lesson 12
String formatting codes • Syntax %[(name)][flags][width][.precision]code • Flags - left-justify + numeric sign (+/-) space blank before positive numbers 0 zero fill Python Mini-Course: Day 3 – Lesson 12
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 Python Mini-Course: Day 3 – Lesson 12
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 Python Mini-Course: Day 3 – Lesson 12
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 Python Mini-Course: Day 3 – Lesson 12
Examples: exponential notation x = 1.34e-6 print 'x = %f' % x print 'x = %e' % x print 'x = %g' % x Python Mini-Course: Day 3 – Lesson 12
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) Python Mini-Course: Day 3 – Lesson 12