繁体   English   中英

如何在python中键入提示组合类的类型列表?

[英]How do I type hint a list of types for a composite class in 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或Notebook会话,但是在这种情况下,我对代码库非常熟悉,并且我希望自动完成会更好,因为我永远不记得那叫什么。 如果重要的话,我主要在pycharm或atom中。 如果只有几个扩展 ,上面的解决方案已经解决了我的问题,但是当我有10个扩展对象的东西时,它不起作用。 在我通常使用的情况下,我约有20件事扩展了想要自动完成的对象。

您也许可以在此处使用Union 更重要的是,一个名称在不同情况下可以容纳不同类型。

例如。

from typing import Union

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM