根据 python 的这段解释,这里指的对象并不是 OOP 形式上说的那个“对象”,而是一切程序中的实体。就我个人认为,这种定义更符合程序本身的意图,OOP 给我的感觉,不是“面向对象编程”,而更像是“面向类编程”,程序应该就是“一切都是对象”的,可能用 python 还不是很好理解这个问题,因为即使 python 做了这样的定义,它还是离不开类,并且把几乎一切东西都归到了类里面,比如 int 是 class int, str 是 class str, etc. 其中比较例外的应该是函数或方法,因为它们不是 class。但函数和方法,也同样可以赋值给变量,可以作为参数,这符合文中的定义,但依旧函数具有属性,它们也可以被修改。
如果把语言换成 js,这个定义的解释就更加亲切了,在 js 中,就真的一切都是对象,虽然历史上 js 并没有类的概念,这也是它出色的地方,它把一切(除了 null) 都当成是可操作的对象,一切“值”都是对应的类型的实例,包括函数,也是一个实例,是一个可操作的对象,也包含方法和属性。我觉得要理解一切都是对象的概念,就是要理解“值即对象”,一切可被当作值的实体,就是对象。