1

我没有什么困惑;你可以在图片中看到.. 我创建了一个类,然后应用于dir()这个类以检查这个类定义了哪些名称。
然后访问这个类的属性;特别是那些以' __'开头的,我看到的是一个巨大的属性列表;其中大部分不在dir()'s 列表中;
所以我的第一个问题是他们都是从哪里来的? 在此处输入图像描述

下面也是我的观察,我已经发布了这个问题。它就像
""" dir(object1)给了我们一个属性列表;它可以在object2(它是 this 的一个实例object1.上访问object2(应用 that 如果它object2可以成为 的实例object1)(以及其他定义为object2)"""
是这样吗??????
让我们检查一下..(我正在使用 ipython 的 qtconsole)

example 1: type是它自己的实例。所以让我们先检查一下type。您可以在快照中看到如下列表;列表,dir(type) 然后是其属性的下一个输出,将其放置.在其上,(以 开头的第__一个)然后这是一个列表(参见line 55);

在此处输入图像描述

然后对于所有的remaning(它只是一个mro);所以在两者结合之后;它与dir(type) 在此处输入图像描述

example 2: 让我们创建我们自己的类

在此处输入图像描述line 59; (即在 的实例上testClass)允许首先访问以 开头的那些,__然后是其他的:在此处输入图像描述 最后将这两个结果结合起来line 59与 相同dir(testClass)。对??就在那时;让我们看看另一个例子

example 3: 在此处输入图像描述并且在此处输入图像描述 类似地结合示例 1 的结果line 64并将其与line 54示例 1 进行比较。

这就是我这边的结果。这是我的观察;这是正确的吗????我需要 python 大师对此观察的任何专家评论。

4

1 回答 1

2

dir()显示对象本身的内容,但使用.运算符您还可以访问对象类型的属性。看看,在dir(type(testClass))那里你会找到你错过的那些。

于 2012-11-22T16:06:04.920 回答