相关疑难解决方法(0)

inspect.getmembers()vs __dict __.items()vs dir()

任何人都可以用适当的例子向我解释是否存在差异

>>> import inspect
>>> inspect.getmembers(1)
Run Code Online (Sandbox Code Playgroud)

>>> type(1).__dict__.items()
Run Code Online (Sandbox Code Playgroud)

>>> dir(1)  
Run Code Online (Sandbox Code Playgroud)

除了它们按顺序显示减少数量的属性和方法.1是整数(但它可以是任何类型.)


编辑

>>>obj.__class__.__name__  #gives the class name of object  
>>>dir(obj)                #gives attributes & methods  
>>>dir()                   #gives current scope/namespace
>>>obj.__dict__            #gives attributes
Run Code Online (Sandbox Code Playgroud)

python namespaces

26
推荐指数
1
解决办法
5988
查看次数

'class object'使用`.__ name__`打印其名称,尽管没有`__name__`属性

可以访问Class_object的名称.__name__,参见代码:

>>> object
<class 'object'>
>>> object.__name__
'object'
Run Code Online (Sandbox Code Playgroud)

不过,__name__方法 is not inclass_object的默认设置.

代码:

>>> foo = dir(object)
>>> foo
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
>>> foo.count('__name__')
0    # '__name__' is not in list
Run Code Online (Sandbox Code Playgroud)

object是所有类的基础.它具有所有Python类实例共有的方法.

哪里__name__的设置位于?

python

4
推荐指数
1
解决办法
207
查看次数

标签 统计

python ×2

namespaces ×1