gpt4 book ai didi

python - type 和 class 之间有什么区别吗?

转载 作者:太空狗 更新时间:2023-10-30 01:01:35 31 4
gpt4 key购买 nike

我正在读一本 Python 书,它总是谈到“给定 X,它的类型是 Y”,所以我感到很困惑。

在python2和python3中询问对象的类型和对象的有什么区别吗?

我的意思是,类型和类是两个不同的概念吗?

这个问题源于这样一个事实,即在 2.1 之前的 python 中,调用 x.__class__type(x) 是有区别的。

最佳答案

在 Python 2.2 之前,“[经典] 类”和“[内置] 类型”是有区别的。

基本上,您不能对内置类型进行子类化,并且它们具有其他特殊行为,使它们不同于用户定义的类。

This blog post来自 Python 的创建者 Guido van Rossum 解释了在“新型类”框架下统一用户定义类和内置类型的一些动机。

Python wiki 在 the practical differences between the classic and new-style user-defined classes 上也有一些很好的背景。 .

tl;dr:在 Python 2.7 中,您仍然可以创建“经典类”以实现向后兼容性,但内置类型的行为与新式类类似。

关于python - type 和 class 之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269715/

31 4 0
文章推荐: python - Flask:创建在多个请求中保留的对象
文章推荐: c# - 来自 IEnumerable 的 GenericTypeDefinitionName