Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想得到一个子类的类_Python - Fatal编程技术网

Python 我想得到一个子类的类

Python 我想得到一个子类的类,python,Python,在一个要被子类化的类中,我可以为其子类的实例获取类变量吗?大概是这样的: class A: ... def doStuff(self): c = getChildClass(self) setattr(c, 'anAttribute', value) 有一些有趣的备忘录我想做,这将使任务更容易 如果您指的是实例本身的类,请使用self.\uuuu class\uuuuu如果您指的是实例本身的类,请在[1]:类A(对象)中使用self.\uuuu

在一个要被子类化的类中,我可以为其子类的实例获取类变量吗?大概是这样的:

class A:
    ...
    def doStuff(self):
        c = getChildClass(self)
        setattr(c, 'anAttribute', value)

有一些有趣的备忘录我想做,这将使任务更容易

如果您指的是实例本身的类,请使用
self.\uuuu class\uuuuu
如果您指的是实例本身的类,请在[1]:类A(对象)中使用
self.\uuuu class\uuuuu
In [1]: class A(object):
   ...:     def doStuff(self):
   ...:         c = self.__class__
   ...:         print c, c.__name__
   ...:         setattr(c, 'moo', 'meow')

In [2]: class B(A):
   ...:     pass
   ...:

In [3]: B().doStuff()
<class '__main__.B'> B

In [4]: B.moo
Out[4]: 'meow'
…:def剂量(自身): …:c=自我__ …:打印c,c.\u名称__ …:setattr(c,'moo','meow') 在[2]中:B(A)类: …:通过 ...: 在[3]中:B().doStuff() B 在[4]中:B.moo 出[4]:“喵”
所以,
self.\uuuuu class\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
…:def剂量(自身):
…:c=自我__
…:打印c,c.\u名称__
…:setattr(c,'moo','meow')
在[2]中:B(A)类:
…:通过
...:
在[3]中:B().doStuff()
B
在[4]中:B.moo
出[4]:“喵”

因此,
self.\uuuuu class\uuuuuuu
是您所需要的。

这将返回子类而不是超类?它将返回对象的实际类,而不是代码的类。无法获取“包含此函数的原始类”,如果这是你的意思。这将返回子类而不是超类?它将返回对象的实际类,而不是代码的类。如果这是你的意思,那么无法获得“包含此函数的原始类”。