如何调用 super() 使其在 2 和 3 中兼容?
Posted
技术标签:
【中文标题】如何调用 super() 使其在 2 和 3 中兼容?【英文标题】:How can I call super() so it's compatible in 2 and 3? 【发布时间】:2014-03-13 04:00:02 【问题描述】:我正在尝试使用 six
编写 2/3 兼容代码,但我不知道如何以交叉兼容的方式调用 super()
。除此之外还有没有更好的方法,例如:
class MyClass(MyBase):
def __init__():
if six.PY3:
super().__init__()
else:
super(MyClass, self).__init__()
...
【问题讨论】:
【参考方案1】:将super()
与参数一起使用是向后兼容的,因此您应该能够使用super(MyClass, self)
而无需检查版本。
【讨论】:
以上是关于如何调用 super() 使其在 2 和 3 中兼容?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 python 脚本调用 pip 并使其在本地安装到该脚本? [复制]
如何隐藏 DefaultTableModel 中的特定列以使其在表中显示?
如何将数据加载到 Hive 表并使其在 Impala 中也可访问