pycharm运行时报TypeError: Descriptors cannot not be created directly.
时间: 2023-09-19 12:06:21 浏览: 153
这个错误通常是由于在类中直接创建描述符导致的。描述符必须作为类属性来创建,不能在类的方法中动态创建。
以下是一个错误的示例:
```python
class MyDescriptor:
def __get__(self, instance, owner):
pass
class MyClass:
def __init__(self):
self.my_descriptor = MyDescriptor() # 错误:描述符不能直接创建
def my_method(self):
my_descriptor = MyDescriptor() # 错误:描述符不能直接创建
pass
```
正确的做法是将描述符作为类属性创建:
```python
class MyDescriptor:
def __get__(self, instance, owner):
pass
class MyClass:
my_descriptor = MyDescriptor() # 正确:描述符作为类属性创建
def my_method(self):
pass
```
这样就可以避免这个错误了。
阅读全文