18章自己反映性――リフレクションReflective
制約
- プログラムは自分自身の情報、すなわちイントロスペクションにアクセスできる。
- プログラムは、実行時に抽象化や変数などを追加して、自分自身を変更できる。
プログラム
1 #!/usr/bin/env python 2 import sys, re, operator, string, os 3 4 # 5 # 2つの現実的(down-to-earth)機能 6 # 7 stops = set(open("../stop_words.txt").read().split(",") + list(string.ascii_lowercase)) 8 9 def frequencies_imp(word_list): 10 word_freqs = {} 11 for w in word_list: 12 if w in word_freqs: 13 word_freqs[w] += 1 14 else: 15 word_freqs[w] = 1 16 return word_freqs 17 18 # 19 # 文字列として関数を定義 20 # 21 if len(sys.argv) > 1: 22 extract_words_func = "lambda name : [x.lower() for x in re.split(r'[^a-zA-Z]+', open(name).read()) if ...
Get プログラミング文体練習 ―Pythonで学ぶ40のプログラミングスタイル 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.