Python:术语“类”与“类型”

2024-06-16 09:06:10 发布

您现在位置:Python中文网/ 问答频道 /正文

只是一个简单的问题:何时应该使用术语“类”,何时应该在Python中使用术语“type”?

  • “类”仅用于用户定义的类型,而“类型”用于内置类型吗?
  • 或者现在everything is a type。。。即使对于用户定义的类,我也应该始终使用“type”吗?

Tags: 用户类型定义istype内置术语everything
3条回答

是一个Python数据结构,可以通过调用它来用作该类实例的模板,例如foo = Foo()

Atype是一个类,可以通过继承的方式用作附加类的模板,例如class Foo(Bar):

由于Python支持继承,所有类都可以用作附加类的模板,这意味着所有类实际上都是类型。

尤其是自从object中派生的“新样式类”出现以来,这种情况尤其如此,它将用户定义类的类型层次结构与内置类型统一起来。类总是类型,但现在它们是与内置类型相同的类型。

尽管Python类是类型,但我仍然发现这种区别是有用的,因此在我看来,这些术语并不完全是同义词。

附加定义:一个元类是一个实例是类的类。在Python中,它们必须从type类派生,就像新样式的对象从object.派生一样

这或多或少是历史性的:they used to be different很久以前的事了,已经没有任何实际意义了。

编辑:我在提到具体实现时使用“class”,在谈到高级数据结构、应用程序结构等时使用“type”更为非正式。在中,我认为类型是一种更为一般的东西,我并不认为每个类都是一种不同的类型。

另外,当我使用元类(很少)时,我会提到类型。

我使用“type”来指代一般情况,但在谈到属性时,我会切换到“class”。

但你选择哪一个并不重要。

{} is of type dict. The iteritems() method of the dict class returns an iterator.

相关问题 更多 >