有没有办法获得没有内置ins的对象的所有属性?我希望在没有类型包的情况下实现这一点,或者如果可能的话,不要手动检查双下划线.
我试过dir,但它给了我所有内置的东西.理想情况下,我喜欢这样的东西
class A():
foo = 'bar'
>>>> dir(a)
['foo']
Run Code Online (Sandbox Code Playgroud)
代替
>>>> dir(a)
['__doc__', '__module__', 'foo']
Run Code Online (Sandbox Code Playgroud)
Nic*_*tin 11
您是否只想过滤掉"特殊"方法,或者实际知道哪些方法在实例本身中实现,而不是从基础继承(或两者都是,因为这些是不同的问题,真的)?
您可以使用一些相当简单的方法过滤掉特殊方法:
def vdir(obj):
return [x for x in dir(obj) if not x.startswith('__')]
>>> vdir(a)
['foo']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |