此构造与实例成员类(从Java中已知,但在Python中也可用)有一些相似之处。但是,不是为每个实例创建一个单独的类,我认为实际的类被共享可能有一些好处,而只是引用了#34;所有者"实例
该构造看起来像:
def fubar(cls):
def init(own, *args, **kwds):
return cls(own, *args, **kwds)
return init
class Outer:
@fubar
class Inner:
def __init__(self, own, *args, **kwds):
self._owner = own
然后,如果您有o
Outer
的实例,则可以通过调用Inner
来创建i=o.Inner(*args, **kwds)
的实例,而i._owner
会自动生成o
分配给fubar
。
现在这个构造/习语有一个公认的名字吗?那是否有一个适当的名称而不是byte num1 = 10; // works
int ten = 10;
byte num2 = ten; // Compile error: Cannot implicitly convert 'int' to byte. An explicit conversion exists.
?