Pythonのクラスに関して

「初めてのPython」のクラスの部分を少し読んだ。
クラスは、ほぼ、単なる「名前空間」らしいのだが、モジュールとの違いは、クラスは属性を継承できることらしい。
また、クラスもクラスオブジェクトと呼ばれていて、以下のように、クラスオブジェクトに値を再代入できる。


class AA:
def foo(self):
print 'in foo()'

a = AA() # AAのインスタンスオブジェクトを作成
AA = 'test' # ここで、AAに文字列を再代入
b = AA() # 違法(文字列オブジェクトは関数として扱えない)
a.foo() # OK!("in foo()"と表示される)

ここで、a.foo()の動きが少々トリッキーに思えるのだが、まだ私自身がきちんと理解していないためだと思う。一応、意識しておこう。
ここら辺の仕様は、Rubyでどうだったか全く覚えていないのでRubyもちゃんと理解できてなかったので、反省。