python - "classes themselves are objects"是什么意思?

标签 python class oop object

我刚刚阅读了关于类的 Python 文档;它说,在 Python 中“类本身就是对象”。这与 C#、Java、Ruby 或 Smalltalk 中的类有何不同? 这种类型的类(class)与其他语言相比有哪些优势和劣势?

最佳答案

在 Python 中,类是对象,您可以将它们分配给变量,将它们传递给函数等,就像任何其他对象一样。例如

>>> t = type(10)
>>> t
<type 'int'>
>>> len(t.__dict__)
55
>>> t() # construct an int
0
>>> t(10)
10

Java 有 Class 对象,它提供了一些关于类的信息,但是你不能用它们来代替显式的类名。它们不是真正的类,只是类信息结构。

Class C = x.getClass();
new C(); // won't work

关于python - "classes themselves are objects"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6482207/

相关文章:

python - 使用 OpenCV Python 计算相机世界位置

python - Pandas 数据框...迭代与列表理解...寻求建议

javascript - 你如何重绘从 p5.js javascript 中的类创建的对象

python - 如何将变量传递给主机?

java - 为什么我们提出接口(interface)改造请求

python - OpenCV 像人眼一样找到主观轮廓

python - Numpy 数组和 python 属性

c++ - 我将如何删除此类对象? (C++)

c# - 将基类转换为派生类时不会在编译时抛出错误

c# - 多态基础