Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

pythonのクラスはただのオブジェクト

Rubyだと、クラスはClass型として扱われますね。

class Hoge
  def fuga()
    print(21)
  end
end

Hoge.class
#=> Class

ところが……pythonだと素のclassはobjectと同じく'type'を返します

class Sample:
  def func(str):
    print(str)

Class    = Sample
instance = Class()
print(type(object),type(Class),type(instance))
#>> <class 'type'> <class 'type'> <class '__main__.Sample'>