为python类型创建tsukkomi

tsukkomi的Python项目详细描述


警告

此项目已放弃。

我们建议您改用typeguard。保养得很好, 并为tsukkomi提供基本相同的api,以便typeguard模块 是tsukkomi.typed模块的替换项。


恙虫

对python类型执行tsukkomi

什么是春宫?

在西方的喜剧双重唱中,tsukkomi是一个日语单词,意思是直男。 文化。当异性恋者对伴侣的荒唐行为做出反应时,tsukkomi 会对不正确的类型做出反应。

如何使用筑波米?

tsukkomityping获取类型提示。编写带有注释的代码, 用tsukkomi.typed.typechecked装饰所有可调用对象。 仅供参考不支持泛型类型,请参见tsukkomi dosen’t support generic 细节部分。

fromtypingimportSequencefromtsukkomi.typedimporttypechecked@typecheckeddefgreeting(name:str)->str:returnnamegreeting('a')# it is okgreeting(1)# this will raise `TypeError`

Tsukkomi Dosen不支持泛型

tsukkomi dosen不支持generic类型检查,已包含类型 继承了一个泛型类型,如typing.sequencetyping.mutable等。 下面的示例代码可以由tsukkomi.typed.typechecked传递。

importtypingfromtsukkomi.typedimporttypecheckedT=typing.TypeVar('T')classBoke(typing.Generic[T]):@typecheckeddefstupid(self,word:T)->T:returntype(word)@typecheckeddefcorrection(self,words:Sequence[T])->T:returnrandom.sample(words,1)[0]@typecheckeddefboke_and_tsukkomi(stupid_words:Sequence[str],correction:Sequence[str])->bool:returnany(s==cfors,cinzip(stupid_words,correction)))boke=Boke[str]()print(boke.stupid('hello world'))print(boke.correction([1,2,3]))print(boke_and_tsukkomi([1,2],[1.0,2.0]))

变更日志

0.0.5-2016-05-19

修改

  • 将none解释为类型(none)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库