你的项目简介

pygeneric的Python项目详细描述


===
概述
=
=


什么是pygeneric?
====


`pygeneric`基于python中的类型分派实现泛型函数。泛型函数将不同的实现(或方法)分组在同一名称下。
然后根据每个函数参数的类型在运行时选择实际的实现。

我们还不知羞耻地窃取了julia的一些其他特性,并将它们应用到python中:

*参数类型。
*一个与算术运算集成的类型转换/提升系统。
*一个将所有二进制操作委托给相应泛型函数的泛型对象基类(即,不是实现
对象。我们重载“generic.op.add(object,object)”`.

pygeneric不能处理旧样式的类,有时由于缺少一些python 3语法而受到限制。python 2也有一些我们不试图模拟的怪癖(例如,断开的比较运算符),因此pygeneric
使用统一的python 3语义。




basic usage
==



这个包中的大多数功能都是围绕通用函数中的类型分派工作的。我们使用语法声明一个泛型函数。代码块::python


代码块::python

@func.overload
def func(x:number,y:number):
print('got two number%r和%r'%(x,y))



python 2友好语法(在python 3中也可以使用)是:

。代码块::python

@func.register(sequence,sequence)
def func(x,y):
print('got two sequence:%r和%r'%(x,y))




根据每个参数的类型,调度器将在这三个实现中选择一个

>;func(42,0.0)
得到两个数字:42和0.0
>;>func([1,2],(3,4))
得到两个序列:[1,2]和(3,4)
>;>func(“foo”,“bar”)
有两个序列:“foo”和“bar”




类型分派始终为给定的
参数类型选择最专用的方法。


代码块::python









>
>
>func(1,2)
func(1,2)
func(1,2,2)
func(1,2.0)
func(1,2.0)
func(1,2.0,2.0和2.0











进一步信息
===br/>==============br/>===


您觉得这个功能有用吗?现在就开始使用pygeneric!
查看文档以获取更多信息。

…_文档:http://pythonhosted.org/pygeneric/

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

推荐PyPI第三方库


热门话题
如何表示1。。Java中的n关系   java在安卓应用程序中添加polaris viewer   Java字符串::replaceAll仅替换第一个出现(可能不正确的正则表达式)   java Tomcat/JBoss部署后脚本   如何在Heroku Java应用程序中运行发出web请求的周期进程   java如何以纳秒为单位证明算法的时间   Solaris上的java自定义ListCellRenderer(使用jre5)   java试图为我的播放器类测试块实现播放器重力(RealtutsGml平台教程)   c#消耗一个。带有java的net web服务未显示预期结果   java在KOI8\R中检索html   基于java图形的搜索与基于随机的搜索   java如何检查安卓设备上的可用空间?在SD卡上?