相关疑难解决方法(0)

为什么cls .__ name__没有出现在dir()中?

假设我有一个简单的类:

class Foobar(object):
    pass
Run Code Online (Sandbox Code Playgroud)

如果我使用dir(Foobar),我会得到以下输出:

['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
Run Code Online (Sandbox Code Playgroud)

即使它没有出现在输出中dir(),我也可以访问__name__:

Foobar.__name__
Run Code Online (Sandbox Code Playgroud)

得到Foobar.

为什么Python表现那样?

python

11
推荐指数
2
解决办法
874
查看次数

标签 统计

python ×1