你的项目简介

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第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用