相关疑难解决方法(0)

获取Python中的所有对象属性?

有没有办法获得所有属性/方法/字段/等.Python中的对象?

vars()接近我想要的,但它不起作用,除非一个对象有一个__dict__,这并不总是正确的(例如,它不适用于a list,a dict等).

python introspection python-2.6

336
推荐指数
4
解决办法
35万
查看次数

如何获得对象的方法和属性的完整列表?

dir(re.compile(pattern)) 
Run Code Online (Sandbox Code Playgroud)

不会将模式作为列表元素之一返回.即它返回:

['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner', 'search', 'split', 'sub', 'subn']
Run Code Online (Sandbox Code Playgroud)

根据手册,它应该包含

对象的属性名称,类的属性名称,以及类的基类属性的递归.

它也说

该清单未必完整.

有没有办法完成清单?我总是认为dir会返回一个完整的列表,但显然它没有......

另外:有没有办法只列出属性?还是只有方法?

编辑:这实际上是python中的一个错误 - >据说它在3.0分支中修复(也许在2.6中)

python

217
推荐指数
5
解决办法
32万
查看次数

打印Python类的所有属性

我有一个类动物,有几个属性,如:


class Animal(object):
    def __init__(self):
        self.legs = 2
        self.name = 'Dog'
        self.color= 'Spotted'
        self.smell= 'Alot'
        self.age  = 10
        self.kids = 0
        #many more...
Run Code Online (Sandbox Code Playgroud)

我现在想要将所有这些属性打印到文本文件中.我现在这样做的丑陋方式就像:


animal=Animal()
output = 'legs:%d, name:%s, color:%s, smell:%s, age:%d, kids:%d' % (animal.legs, animal.name, animal.color, animal.smell, animal.age, animal.kids,)
Run Code Online (Sandbox Code Playgroud)

有更好的Pythonic方法吗?

python oop

150
推荐指数
5
解决办法
21万
查看次数

获取类的属性

我想得到一个类的属性,比如说:

class MyClass():
  a = "12"
  b = "34"

  def myfunc(self):
    return self.a
Run Code Online (Sandbox Code Playgroud)

使用MyClass.__dict__给我一个属性和功能的列表,甚至像__module__和的功能__doc__.虽然MyClass().__dict__我给了一个空的dict,除非我明确设置了该实例的属性值.

我只想要属性,在上面的例子中,那些将是:ab

python attributes class python-2.7

79
推荐指数
5
解决办法
19万
查看次数

Python 3:对象如何成为类型的实例?

在Python 3,object是的实例typetype也是一个实例object!

每个类是如何从另一个派生出来的?

任何实施细节?

我使用了isinstance(sub, base)这个,根据Python文档,检查子类是否派生自基类:

isinstance(object, type)
Out[1]: True

isinstance(type, object)
Out[2]: True
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-3.4

10
推荐指数
1
解决办法
674
查看次数