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

python中的对象与实例

鲁昕
2023-03-14
问题内容

在C ++中,只有对象和类,其中对象是类的实例。

在Python中,类定义(即类的主体)称为对象。而且,C ++中的对象在python中称为实例。

检查一下

我错了吗?

编辑: 实际上有人可以用对象与实例之间的差异示例进行解释

编辑: 在python中,一切都将从 对象 类继承,因此一切都是对象(即 对象 类的 对象 )。

类也是对象(即 对象 类的 对象 )。

实例是用于调用任何类的对象的名称。(又名c ++对象)。

请参考这个


问题答案:

在Python中,类定义(即类的主体)称为对象

实际上,这在Python中仍称为类。这就是为什么要这样定义它:

class Foo(object):
    pass

使用class关键字是因为结果仍称为类。

object括号中的单词表示Foo源自名为的类object。请勿混淆-这里可以使用任何现有的类;实际上不止一个。

您通常从中得出类的原因object是历史性的意外,但可能值得详细说明。Python的原始对象实现将用户定义的类和内置类型视为略有不同的事物。然后,语言的设计师决定统一这两个概念。因此,从object(或从的后代object)派生的类的行为与
不是 从派生的object类(称为新样式的类)的行为略有不同。另一方面,老式类的定义如下:

class Foo:
    pass

class Bar(Foo):
    pass

请注意,它们不会继承object或继承自object。这使它们成为旧式的类。

使用Python 2.x时,您的类几乎应该始终继承object,因为使用几种小型但重要的方式可以更好地使用新型对象。

为了使事情更加混乱,在Python 3.0和更高版本中,没有老式的类,因此您不必object显式派生。换句话说,以上 所有 类都是Python
3.x中的新型类。

现在,回到眼前的事情。类
对象,因为一切都是Python中的对象。列表,字典,整数,字符串,元组…所有这些都是对象,Python程序的构造块也是如此:模块,函数和类。您可以使用class关键字创建一个类,然后将其传递给函数,对其进行修改等。(为完整起见,您还可以使用该type()函数创建一个类。)

类是用于构建对象的模板,这些对象称为 实例。 这部分您已经知道。您可以实例化类似于调用函数的对象,并传入初始值和其他参数:

mylist = list("abc")   # constructs ["a", "b", "c"]

在幕后,这将创建一个实例,然后调用新实例的__init__() 方法对其进行初始化。由于所有内容都是Python中的对象,因此类的实例也是对象。

您可能想知道的最后一件事是,就像类是用于构建对象的模板一样,也可能有用于构建类的模板。这些称为 元类。
调用了基元类type(即,普通的新式类是的实例type)。

(是的,这与type我之前提到的可用于创建类的相同,而可以将其称为创建类的原因是它是一个元类。)

要创建自己的元类,可以type像这样派生它:

class mymeta(type):
    pass

元类是一个相当高级的Python主题,因此我不会讨论您可能将它们用于什么或如何使用它们,但是它们应明确说明Python将“一切皆对象”的概念带到了多远。



 类似资料:
  • 本文向大家介绍详解 Python 与文件对象共事的实例,包括了详解 Python 与文件对象共事的实例的使用技巧和注意事项,需要的朋友参考一下 详解 Python 与文件对象共事的实例 Python 有一个内置函数,open,用来打开在磁盘上的文件。open 返回一个文件对象,它拥有一些方法和属性,可以得到被打开文件的信息,以及对被打开文件进行操作。 (1)  open 方法可以接收三个参数:文件

  • 本文向大家介绍举例说明JavaScript中的实例对象与原型对象,包括了举例说明JavaScript中的实例对象与原型对象的使用技巧和注意事项,需要的朋友参考一下 首先声明:javascript中每个对象都有一个constructor属性和一个prototype属性。constructor指向对象的构造函数,prototype指向使用构造函数创建的对象实例的原型对象。 在这段代码中会报错,sayN

  • 本文向大家介绍python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例,包括了python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例的使用技巧和注意事项,需要的朋友参考一下 Deferred对象在Twsited框架中用于处理回调,这对于依靠异步的Twisted来说十分重要,接下来我们就以实例解析Python的Twisted框

  • 本文向大家介绍js中实例与对象的区别讲解,包括了js中实例与对象的区别讲解的使用技巧和注意事项,需要的朋友参考一下 关于js中实例和对象的解释如下: 比如定义persion如下: JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例.。当然在js中, 一切都是对象。 第二个采用对象字面量的方式生成的person也是如此。

  • 问题内容: 我正在自学Java,这本书中的其中一项复习练习要求“对象”和“对象变量”之间的区别。 我知道什么是对象(类的特定实例),但是我似乎无法在书中的任何地方(无答案部分)或在互联网上找到术语“对象变量”。 有人知道这个名词的意思吗? 问题答案: 它是“实例变量”的同义词: 显然,该术语并不常用,最好坚持使用“实例变量”以避免任何潜在的歧义。

  • 问题内容: 这发生在python2.7中 我正在研究python中元类的想法,几乎所有教程都将对象引用为python中类的实例。但是,在使用类A():定义类的形式时,我看到了: 这意味着当从不是对象固有的类创建实例时,该实例是实例,但是当类是对象固有的类时,该类的实例是对象吗? 谁能解释其中的区别?在现实生活中,我应该使用哪一个? 谢谢! 问题答案: 这是新样式类和旧样式类之间的区别,在文档中对此

  • 本文向大家介绍Python中对象的引用与复制代码示例,包括了Python中对象的引用与复制代码示例的使用技巧和注意事项,需要的朋友参考一下 可以说Python没有赋值,只有引用。你这样相当于创建了一个引用自身的结构,所以导致了无限循环。为了理解这个问题,有个基本概念需要搞清楚。 Python没有「变量」,我们平时所说的变量其实只是「标签」,是引用。 python中,"a=b"表示的是对象a引用对象

  • 英文原文:http://emberjs.com/guides/object-model/classes-and-instances/ 定义一个新的Ember的类,只需要调用Ember.Object的extend()方法即可: 1 2 3 4 5 App.Person = Ember.Object.extend({ say: function(thing) { alert(thing)