Python编程:旧式类和新式类的区别

先看两段代码

Python 2.7.5

# -*- coding: utf-8 -*-
# 旧式
class Foo():
pass
foo = Foo()
print(foo.__class__)
print(type(foo))
# __main__.Foo
# <type 'instance'>
# obj.__class__就表示该,但type(obj)始终是instance类型
# 新式类
class NewFoo(object):
pass
new_foo = NewFoo()
print(new_foo.__class__)
print(type(new_foo))
# <class '__main__.NewFoo'>
# <class '__main__.NewFoo'>
# type(obj)则与obj.__class__相同