python - 是否有用于表示具有 __contains__ 方法的注释的 Python 类型?
问题描述
我寻找Type
以下类型检查OK:
import typing
def f(a: str, collection: Type):
return a in collection
也就是说,Type
断言collection
有__contains__
。
解决方案
我将此页面添加为书签,因为搜索起来很痛苦,但也很有帮助。
正如您在该表的顶部所看到的,aContainer
是一个具有__contains__
方法的对象:
from typing import Container
def f(a: str, collection: Container[str]):
return a in collection
该表引用 中的类collections
,但typing
包含相同类的通用类型变体。
如果collections.Container
/typing.Container
不存在,您也可以创建自己的Protocol
以正确提示。
推荐阅读
- html - 有没有办法防止这个边界上的“半点”?
- java - 我只想使用 JSOUP 将一些 html 标签永久添加到现有 HTML
- java - java - 在java lambda表达式中使用groupingBy时如何获取id列表
- sql - 需要基于另一张桌子的所有进出时间?
- visual-studio - Xamarin IOs 应用程序未在设备中启动,即使项目在更改 Git 分支后成功构建
- excel - 谷歌表格 - 带有条件的excel中的值总和
- python - 如何在python中绘制300x300 RBG图像的灰度值
- javascript - Vue.js API 获取
- odoo-10 - 如何在odoo10中通过psql进行发票支付
- c - 如何在 Navilnux 中修改此汇编代码?