我正在尝试修改Guido的多方法(动态调度代码):

处理继承和可能的乱序参数.

例如(继承问题)

class A(object):

pass

class B(A):

pass

@multimethod(A,A)

def foo(arg1,arg2):

print 'works'

foo(A(),A()) #works

foo(A(),B()) #fails

有没有比迭代检查每个项目的super()更好的方法,直到找到一个?

例如(论证排序问题)

从碰撞检测的角度来看,我正在考虑这个问题.

例如

foo(Car(),Truck()) and

foo(Truck(), Car()) and

应该触发

foo(Car,Truck) # Note: @multimethod(Truck,Car) will throw an exception if @multimethod(Car,Truck) was registered first?

我正在寻找一个“优雅”的解决方案.我知道我可以通过所有可能性来强行实施,但我试图避免这种情况.我只想在坐下来寻找解决方案之前得到一些意见/想法.

谢谢

python继承方案_python中的动态调度和继承相关推荐

  1. python中的继承有什么特点_Python中 什么是面向对象-继承和多态

    文字有点长,对于不想看文字的朋友,可以去这里看视频,内容和这个文字一样的,视频可能更好理解 https://www.piqizhu.com/v/zaX9K4pd4GE 上一篇文章<python教 ...

  2. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  3. python object类_Python中一切皆对象,这个对象究竟是什么?

    点击上方蓝字CGRnDStudio关注我们" CG TD编程技术相关领域自媒体 " 作者:古明地盆 https://www.cnblogs.com/traditional/p/13 ...

  4. python类的继承优缺点_python 类的三大特性--继承

    继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题, 继承是一种创建新类的方式,在python中新建的类可以继承一个或多个父类,父 ...

  5. python map用法_Python中ChainMap的一种实用用法

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 简而言之ChainMap:将多个字典视为一个,解锁Python超能力. Python标准库中的集合模块包含 ...

  6. python基本统计量_Python中简单统计量的计算

    本篇文章给大家带来的内容是关于Python中简单统计量的计算,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.这些操作都要确保已经在电脑中安装好了Anaconda集成库,如果安装好 ...

  7. python解析原理_Python 中 -m 的典型用法、原理解析与发展演变

    在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...

  8. python正则表达式空格_python中的正则表达式的使用

    一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...

  9. python wraps模块_python中 wraps 的作用

    这里使用两段代码比较加入wraps装饰器后,函数打印的结果对比: 新建文件名:Testword 代码1:不加wraps装饰器 # coding=utf-8 from functools import ...

最新文章

  1. Python 捕获警告
  2. 机器学习-贝叶斯分类器
  3. Docker:搭建RabbitMQ集群
  4. 基于mqtt协议的消息推送服务器,基于 MQTT 协议的推送服务
  5. Spring中注解大全和应用
  6. 茶百科 android 论文,基于android平台手机茶百科开发_学位论文.doc
  7. 径向基函数RBF三维网格变形
  8. python去年软件排行_2017年编程语言排行榜,Python位居榜首(C语言需求最大)
  9. 怎么修改某一软件的服务器,怎样设置一个软件服务器地址
  10. VMware view client for ipad 测试
  11. 淘宝SDK easing属性(旋转木马)
  12. html5 绘制思维导图,Qunee组件制作思维导图
  13. Pandas08--文本数据
  14. java手势识别技术_Android基础开发之手势识别
  15. 数据库------MYSQL
  16. Component Xxx is not part of any NgModule or the module has not been imported into your module.
  17. ios客户端开源的项目
  18. (CVPR-2020)GaitPart:基于时间部分的步态识别模型(一)
  19. 用Windows live writer在blogbus写博客
  20. 3DMAX渲染高分辨率图像教程

热门文章

  1. php 框架源码分析,Laravel框架源码解析之模型Model原理与用法解析
  2. MySQL5.7--项目数据库不同出现的问题
  3. mysql和oracle用户管理_五种Oracle用户的授权与管理
  4. 给RABBITMQ发送消息时,设置请求头HEADER
  5. Java List和Array之间的转换
  6. python 生成器读取文件
  7. c语言程序100例第4题 参考了参考答案
  8. PATH、cp命令、mv、文档查看命令
  9. 拦截Response.Redirect的跳转并转换为Js的跳转
  10. jsf初学解决GlassFish Server 无法启动