在python中创建强类型结构的类
strong-typing的Python项目详细描述
strong_typing是一个python包,其中包含一些要强烈创建的类 python中的类型化结构
strong_typing简而言之
在python中,所有变量都是弱类型的,这意味着一个变量可以 任何类型的所有值。然后,python解释器将在运行时推断 此变量可以执行的操作取决于它包含的内容。这是 称为“类型推断”。
在不同的情况下,这可能是一个问题
- A function that does not receive the expected type as input
- A variable or a class attribute whose type is changed through assignment
为了避免函数被错误的参数调用,可以使用python的 typing module)(但仅限于 用Python3)。若要检查变量是否未正确使用,可以安装 运行mypy module)。
但是如果最新的对于静态检查很好(不运行代码),那么它确实可以 不是你自己的代码。
例如,如果您设计的类需要某种类型的属性, mypy如果不错误地重写这些,则很容易检测到 具有错误类型数据的属性。
但是如果你把这个类放在一个python包中,并且其他人使用它, 无法确保他们会尊重您的属性类型。
为了确保它们是正确的,您需要为每个 属性并定义一个setter函数来保护您的值不被滥用 准备好了。我们就是这么做的:)
最后,您的课程可能会如下所示:
class MyTypedStruct(Struct): __ATTRIBUTES__ = [IntegerParameter(name="my_int"), FloatParameter(name="my_float")] __DESCRIPTION__ = "A sample of class with typed attributes"
想知道更多吗?
找到完整的文档here。