● Python.use(better, src=”IronPython”) 記事一覧
Python.use(better, src=”IronPython”) # ソースコードを散策する
ソースコードの歩き方《IronPython 篇》
組み込み関数 reduce
- 2008-05-19 ソースコードの歩き方《IronPython》reduce 1/5
- 2008-05-20 ソースコードの歩き方《IronPython》reduce 2/5
- 2008-05-21 ソースコードの歩き方《IronPython》reduce 3/5
- 2008-05-22 ソースコードの歩き方《IronPython》reduce 4/5
- 2008年5月23日(金)
組み込み関数 map
- 2008-06-16 ソースコードの歩き方《IronPython》map 1/5
- 2008-06-17 ソースコードの歩き方《IronPython》map 2/5
- 2008-06-18 ソースコードの歩き方《IronPython》map 3/5
- 2008-06-19 ソースコードの歩き方《IronPython》map 4/5
- 2008-06-20 ソースコードの歩き方《IronPython》map 5/5
組み込み型 dict
- >>> dir(dict)
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
dict.__str__
- 2008-08-18 ソースコードの歩き方《IronPython》dict.__str__ 1/3
- 2008-09-22 ソースコードの歩き方《IronPython》dict.__str__ 2/3
- 2008-09-23 ソースコードの歩き方《IronPython》dict.__str__ 3/3
dict.__init__
- 2008年8月19日(火) dict.__init__
- 2008-09-24 ソースコードの歩き方《IronPython》dict.update 1/3
- メソッド dict.update
- 事例:dict.update を使って
- 読者への課題:update
dict.keys/dict.values/dict.Items
- 2008-08-20 ソースコードの歩き方《IronPython》dict.keys
- 2008-08-21 ソースコードの歩き方《IronPython》dict.values
- 2008-08-22 ソースコードの歩き方《IronPython》dict.Items
- 2008-10-20 ソースコードの歩き方《IronPython》dict.fromkeys 1/3
- 2008-10-21 ソースコードの歩き方《IronPython》dict.fromkeys 2/3
- 2008-10-22 ソースコードの歩き方《IronPython》dict.fromkeys 3/3
はじめに
良い文章を書こうと思ったら、多くの優れた作品を読むことです。同じように、良いコードを書こうと思ったら、多くの優れたプログラムを読むことです。
Python を学習するときに、マニュアルや入門書を読むのもひとつの手段です。しかし、その王道は、Python のソースコードを読むことです。ソースコードを読まずに Python を語るのは「映画を見ずにその作品を語る」ようなものです。オープンソースという恩恵に浴しながら、それを活用しない手はありません。
Python のソースコードは、C言語で記述されているので、Python のみならず、C言語の学習にも役立ちます。同様に、Jython のソースコードは Java で、IronPython のソースコードは C# で記述されているので、同時に Java/C# も習得できます。まるで、一粒で二度美味しい「アーモンドグリコ」のように、なんだかちょっと得した気分になりませんか。(^.^)
とは言え、ソースコードを読破するのは、容易いものではありません。しかし、それを記述したプログラマーの労力を考えるなら、楽してその技術を習得できるのですから、あせらずにじっくりと「長〜い目で取り組む」姿勢が大切です。
それでも、全コードを読破する頃(または道半ば)には、新たなリリースが発表されることでしょう。「24 -TWENTY FOUR-」をシーズン6まで見終えても、その続編が製作されています。ソースコードを読み始めると、ハマってしまうところには、同じ醍醐味があるかもしれませんね。(^.^)
この記事では、Python のソースコードを読み解きながら、同時に Java/C# も習得しようとする、実に欲張りな企画が発端となっています。一挙両得となるか「二兎を追う者は一兎をも得ず」となるか、それは読者のみなさん精進次第です。とくに、初心者にお勧めしたい箇所を拾い読みすることで、ソースコードを読破するお手伝いができれば、幸いです。
Contents
- >>> dir(__builtins__)
[... 'abs', 'all', 'any', 'apply', 'basestring', 'bool', 'buffer', 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'quit', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
組み込み型 set/frozenset
- >>> dir(set)
['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__str__', '__sub__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
- 2008-11-17 ソースコードの歩き方《IronPython》Set.__str__ 1/3
- 2008-11-18 ソースコードの歩き方《IronPython》Set.__str__ 2/3
- 2008-11-19 ソースコードの歩き方《IronPython》Set.__str__ 3/3
set.union/set.intersection/set.difference/set.symmetric_difference
- 《in draft》2009年1月19日(月)