如何在python中为复合类键入类型列表?

2024-10-02 04:32:54 发布

您现在位置:Python中文网/ 问答频道 /正文

由于一些我无法控制的体系结构原因,我经常使用并希望完整代码完成的对象是源代码中已经存在的静态特性之上的几个特性的动态组合。你知道吗

import lgb.reqs.plan
# Various imports which dynamically extend the smallform
import lgb_extensions.water_extras
import lgb_extensions.toolkit_extras

d = c.req[0]  # type: lgb.reqs.plan.smallform 
d = d  # type: lgb_extensions.water_extras.common
d = d  # type: lgb_extensions.toolkit_extras.common

# Now I get the autocomplete on d as I type "d."
d.

我发现重新分配d方法非常有效,但感觉不对。难道没有办法用元组之类的东西来输入提示吗?我试过了,但还是想不出来。你知道吗

我发现jupyter notebook非常适合自动完成,如果我真的需要探索未知的代码库,我会跳转到ipython或笔记本会话,但在这种情况下,我对代码库非常熟悉,只是希望自动完成更好,因为我永远记不清调用了什么。如果有关系的话,我大部分时间都在玩pycharm或atom游戏。如果只有几个扩展,上面的解决方案已经解决了我的问题,但是当我有10个扩展对象的东西时,它就不起作用了。在我通常的情况下,我有大约20个东西扩展我想自动完成的对象。你知道吗


Tags: the对象代码importextrastypeextensions特性
1条回答
网友
1楼 · 发布于 2024-10-02 04:32:54

您可以在这里使用^{}。更重要的是,当一个名字在不同的情况下可以容纳不同的类型时。你知道吗

例如

from typing import Union

a = f() # type: Union[str, int]
d. # now get autocompletion for str and int from IDEs

相关问题 更多 >

    热门问题