我想知道如何将类型提示(用于PyCharm IDE代码完成支持)添加到一个方法def links(self) -> List[str]
中,该方法被我monkey-patched到一个existing module's类中:
我的函数
def issue_links(self) -> List[str]:
links = []
# ...
return links
字符串
Monkey-patching函数到python-jira的Issue
类
from jira.resources import Issue
# {...} my defined function code is somewhere here
Issue.links = issue_links
型
现在我遇到的问题是,当我在Issue
对象上调用PyCharm时,PyCharm显然无法识别这个方法。我试图遵循PEP 484 Stub Files并使用.pyi
文件中的typing
模块来让IDE找到我的monkey-patched函数的定义。
issue.pyi
from typing import List
class Issue:
def links(self) -> List[str]: ...
型
然而,它不会工作。我的假设是,文件结构是不正确的:
文件位置
jira-python module
>>站点包(使用pip install jira
下载)myFile.py
>> /temp/myFile.pyIssue.pyi
>> /temp/jira/resources/Issue.pyi文件夹
1条答案
按热度按时间xqnpmsa81#
也许使用一个扩展文件并不是您想要实现的最佳方法,因为在这种情况下,您必须在存根中复制
Issue
的完整接口,正如在注解中已经讨论过的那样。为什么不使用继承来实现这一目的呢?
字符串
或者,如果你真的只想定义接口:
型