小编Kev*_*ata的帖子

我什么时候应该在 UML 图中使用依赖关键字 <<use>>?

参考这个来源,UML的定义是

依赖性是一种有向关系,用于表明某个 UML 元素或一组元素需要、需要或依赖于其他模型元素来进行规范或实现。

但是,根据教科书《UML Distilled》 ,在“类图:要点->依赖关系”部分中,关键字<<use>>被描述为

源需要目标来实现。

在这里,我看不出一般依赖行和特定<<use>>关键字之间有任何区别。在任何情况下,这<<use>>是必要的还是多余的?

uml

5
推荐指数
1
解决办法
1153
查看次数

使用 python 类型提示作为运行时类型检查(如果不同则引发 TypeError)

我有一个示例函数:

from typing import Dict


def cool_func(foo: Dict[object, str], bar: bool, baz: float) -> None:
    foo_type_error_msg = "foo must be a Dict[object, str]"
    if not foo.isinstance(dict):
        raise TypeError(foo_type_error_msg)
    for s in foo.values():
        if not s.isinstance(str):
            raise TypeError(foo_type_error_msg)

    # the rest of the function
Run Code Online (Sandbox Code Playgroud)

如何使用类型提示中指定的类型在运行时检查变量?请注意,我不想对其他变量严格要求(只需检查参数foo)。

如果您想知道,我想强制执行该类型,以便错误(由错误类型引起的)不会出现在某处,the rest of the function并使用户与默认错误消息混淆。

我希望我能拥有这样的东西:

def cool_func(foo: Dict[object, str], bar: bool, baz: float) -> None:
    check_type('foo')
    # the rest of the function
Run Code Online (Sandbox Code Playgroud)

或者至少

def cool_func(foo: Dict[object, str], bar: bool, baz: float) …
Run Code Online (Sandbox Code Playgroud)

python types assert type-hinting python-typing

5
推荐指数
0
解决办法
2253
查看次数

标签 统计

assert ×1

python ×1

python-typing ×1

type-hinting ×1

types ×1

uml ×1