当前位置: 首页 > 面试题库 >

Python中的类与类型

艾原
2023-03-14
问题内容

我刚刚开始自学如何编码。我目前正在阅读适用于python 3的 Think Python 2
,并且在讲授该type()功能时,给出了type(2)输出示例<class 'int'>。然后声明“在类别的意义上使用了“类”一词;类型是值的类别。”

令我困惑的部分是type()函数输出类而不是类型。另外,我不确定类型和类之间的区别。是字符串,浮点数和“值”类型的整数类,还是同一件事?

我已经查询了一下,但是找不到我的特定问题的答案,或者太简单了,无法理解。


问题答案:

从前,Python同时具有 类型
。类型是用C定义的内置对象。类是您在使用class语句时构建的。两者的名称不同,因为您无法将它们混合使用。类不能扩展类型。

这种差异是人为的,这是语言实现的限制。从Python
2.2开始,Python
的开发人员已逐渐朝着统一这两个概念的方向发展,而差异仅在Python
3中消失了。内置类型现在也被标记为类,您可以随意扩展它们。

您的书试图解释Python中不再存在的差异。即使在Python 2中,差异也只存在名称上,因为type(2)显示在那里仍然使用单词“ type”:

>>> type(2)
<type 'int'>

但是您可以int像其他任何类一样子类化。

(Python 2仍然具有旧式类,这些类不继承自旧类object;它们是统一之前的旧系统的残余。)



 类似资料:
  • 我最近才开始自学如何编码。我目前正在阅读Think Python2 for Python3,当它介绍函数时,它给出了输出

  • 本文向大家介绍Python中的类与类型示例详解,包括了Python中的类与类型示例详解的使用技巧和注意事项,需要的朋友参考一下 1.经典类与新式类 在了解Python的类与类型前,需要对Python的经典类(classic classes)与新式类(new-style classes)有个简单的概念。 在Python 2.x及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位

  • 本文向大家介绍理解Python中的类与实例,包括了理解Python中的类与实例的使用技巧和注意事项,需要的朋友参考一下 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键

  • 问题内容: 使用Python 2.7,我想知道使用type代替真正的优势是什么,因为它们似乎都可以容纳Unicode字符串。除了能够使用转义字符在字符串中设置Unicode代码之外,还有什么特殊的原因吗?: 使用以下命令执行模块: 结果:á,á 编辑: 使用Python Shell进行更多测试: 因此,该字符串似乎是使用而不是编码的,而原始字符串是使用?编码的 我现在更困惑了!:S 问题答案: 用

  • 问题内容: 我对什么是不可变类型感到困惑。我知道该float对象被认为是不可变的,在我的书中有这样的例子: 由于类的结构/层次结构,这是否被认为是不可变的?意思float是在类的顶部,是它自己的方法调用。类似于此类示例(即使我的书说的dict是可变的): 可变的东西在类内部具有方法,例如以下类型: 另外,对于最后一个,如果我将这种类型的set传递给它: 不调用该example方法,它返回一个字典。

  • 我想在Python3.4中定义2个类并使用类型提示,但它们之间有一定的依赖性。 这是我的密码 和返回的错误: E0601:在赋值前使用变量'父' 如何提示类的初始化函数的参数的类型? 谢谢