如何解决如何在 Python 中使用空值初始化对象?
class FileCompoundDefinition(AbstractCompoundDefinition):
# <editor-fold desc="(type declaration)">
__include_dependency_graph: IncludeDepGraphTagFL
__inner_namespace: InnerNamespaceTag
__brief_description: BriefDescription
__detailed_description: DetailedDescription
__location: LocationDefinitionCL
# </editor-fold>
# <editor-fold desc="(constructor)">
def __init__(self,id: str,kind: str,language: str,compound_name: str):
super().__init__(id,kind,compound_name)
self.__language = language
self.__includes_list = []
self.__inner_class_list = []
self.__include_dependency_graph = None
self.__inner_namespace = None
self.__brief_description = None
self.__detailed_description = None
self.__location = None
# </editor-fold>
在上面的源代码中,以下几行显示错误:
self.__include_dependency_graph = None
self.__inner_namespace = None
self.__brief_description = None
self.__detailed_description = None
self.__location = None
如何使用 None
值初始化对象?
解决方法
使用 typing.Optional
以下不会导致任何警告。
from typing import Optional
class FileCompoundDefinition(AbstractCompoundDefinition):
__location: Optional[LocationDefinitionCL]
def __init__(...)
self.__location = None
...
self.__location = LocationDefinitionCL()
见
作为 Union[T1,None]
的简写,你可以写 Optional[T1]
;例如,上面等价于:
from typing import Optional
def handle_employee(e: Optional[Employee]) -> None: ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。