将神奇的零参数super()反向移植到python2

magicsuper的Python项目详细描述


magicsuper:backport魔法零参数super()将魔法零参数super()调用从python3迁移到python2

======================================================================br/>










在标准python2中使用超级的方法中,在标准python2中使用super的方法






内置,你必须调用super时,重复
类和实例对象,如下所示:


class hello(base):
def hello(self):
super(hello,self).hello()

您可以从python3获得更友好的行为,在python3中,它只需在运行时找出正确的调用:


class hello(base):
def hello(self):
super().hello()


当然,如果您想做一些奇怪的事情,您仍然可以显式地传递参数。有时候你真的想这样做,比如跳过方法解析顺序中的一些类。通过检查调用帧来确定要执行的函数
对象和调用它的对象,然后
遍历对象的“mro”链以找出该函数的定义位置。很难受,但似乎很管用…

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

推荐PyPI第三方库


热门话题
使用JavaCV库进行图像旋转的java问题   为Java类创建相等的方法来比较double或int值   javarmi、EJB和回调   用java编写phonegap应用程序(使用GWT、Vaadin等)   java在Hibernate中设置参数值时指定字符串类型   java正则表达式文本日期   Java Hibernate@SafeHtml不允许url链接   使用Java Trie时,无法识别词尾。在递归中失败   java如何在Swing的JTextArea中执行正则表达式   java如何在列表的所有对象中更改sepecific属性的值   java为什么是我的ArrayList。删除(id)呼叫不工作?   java是否可以将用户从同一个jcombobox输入的项添加到jcombobox中?   java当从Python调用jar时,如何最小化JavaVM的加载时间?   面向对象Java类如何从Entry类获取信息?   java JPA错误:关系不存在