Python 当属性名与类名相同时,错误的类型提示
我正在使用Python 当属性名与类名相同时,错误的类型提示,python,python-3.x,typehints,Python,Python 3.x,Typehints,我正在使用python3.7.4。hursbandnew和丈夫之间唯一的区别是妻子/妻子属性(妻子也是类名)。为什么它们会产生不同类型的提示 在python中,类名称通常使用PascalCase,属性名称通常使用snake_大小写。然而,我经常处理返回JSON的外部API。我复制JSON以生成带有类型注释的数据类。它生成与属性名相同的类名 from typing import get_type_hints, Optional from dataclasses import dataclass
python3.7.4
。hursbandnew
和丈夫
之间唯一的区别是妻子
/妻子
属性(妻子
也是类名)。为什么它们会产生不同类型的提示
在python中,类名称通常使用PascalCase,属性名称通常使用snake_大小写。然而,我经常处理返回JSON的外部API。我复制JSON以生成带有类型注释的数据类
。它生成与属性名相同的类名
from typing import get_type_hints, Optional
from dataclasses import dataclass
@dataclass
class Wife:
name: str = ''
@dataclass
class Husband:
name: str = ''
wife: Optional[Wife] = None
@dataclass
class HusbandNew:
name: str = ''
Wife: Optional[Wife] = None
get_type_hints(Husband)
>>> {'name': str, 'wife': typing.Union[__main__.Wife, NoneType]}
get_type_hints(HusbandNew)
>>> {'name': str, 'Wife': NoneType}