考虑这个例子:的Python:测试描述符分配正确
>>> class Bar(object):
...
... def __init__(self, name):
... self.name = name
... def __set__(self, instance, value):
... setattr(instance, self.name, value)
... def __get__(self, instance, owner):
... return getattr(instance, self.name, owner)
...
>>> class Foo(object):
... bat = Bar('bat')
...
>>> Foo.bat
<class 'Foo'>
>>> type(Foo.bat)
<class 'type'> # how would you get <class 'Bar'> ?
我想写一些pytests
是断言正确的描述已被分配给正确的属性。
但我似乎并没有能够检查描述符的类型,一旦被分配
为什么'foo.bat'不会导致StackOverflow错误? –
@MadPhysicist:'Foo.bat'将'None'作为'instance'传递给'__get__'。 –