目標

ちょっとまったり気味になってきたんですが、まだPythonに関してわからないことは沢山あります。どうも重箱の隅ばかりつついて満足してしまう癖が,,,

  • ε(    v ゚ω゚) <クラスとか例外とかまだぜんぜんやってないし
  • ε(    v ゚ω゚) <モジュールとかまだぜんぜんやってないし
  • ε(    v ゚ω゚) <2.4の新機能を調べたいなぁ。特にデコレータ
  • ε(    v ゚ω゚) <何かのプログラムやモジュールのソースを読んでみたいなぁ

複素数

最初、mathモジュールを使おうとしたらlogやexp関数で複素数が使えなかったため、cmathモジュールを発掘することになりました。
pythonで書いてみました。 - しがないプログラマ の日記

なるほど、cmathモジュールですか。ところで私は「i = complex(0,1)」より「i = 0+1j」の方がカッコイイ気がします(わかりづらいかな)。

また、cmath で定義されている関数は、たとえ結果が実数で表現可能な場合 (虚数部分がゼロの複素数) でも、常に複素数を返すので注意してください。
http://www.python.jp/doc/release/lib/module-cmath.html

何を注意すればいいんでしょうね。すいません。数学弱いもので、、、わかりやすそうなところで練習。

>>> import cmath
>>> cmath.sqrt(4)
(2+0j)
>>> (2+0j).real
2.0

はあはあ。

>>> type(2)
<type 'int'>
>>> type(0j)
<type 'complex'>
>>> type(2+0j)
<type 'complex'>

ふむふむ。