Chapter 16

Introspective

image

16.1 Constraints

  • The problem is decomposed using some form of abstraction (procedures, functions, objects, etc.).
  • The abstractions have access to information about themselves and others, although they cannot modify that information.

16.2 A Program in this Style

  1 #!/usr/bin/env python
  2 import sys, re, operator, string, inspect
  3
  4 def read_stop_words():
  5 """ This function can only be called from a function
  6  named extract_words."""
  7 # Meta-level data: inspect.stack()
  8 if inspect.stack()[1][3] != 'extract_words':
  9  return None
 10
 11 with open('../stop_words.txt') as f:
 12  stop_words = f.read().split(',')
 13 stop_words.extend(list(string.ascii_lowercase)) ...

Get Exercises in Programming Style now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.