我可以在Python 2.5.6中使用干净的Python 3super()
语法吗?
也许是通过某种\uuuuuuuuuuuuuuuuuuu
导入
我意识到这个问题很老了,选择的答案当时可能是正确的,但现在已经不完整了。您仍然不能在2.5.6中使用super()
,但是python future
为2.6+提供了一个后端口实现:
使用以下设备安装python future:
%pip将来安装
下面显示了内置项下对
super
的重新定义:
%python
...
&燃气轮机&燃气轮机&燃气轮机;导入系统
&燃气轮机&燃气轮机&燃气轮机;系统版本信息[:3]
(2, 7, 9)
&燃气轮机&燃气轮机&燃气轮机;
&燃气轮机&燃气轮机&燃气轮机;超级的
<;键入“super”>;
&燃气轮机&燃气轮机&燃气轮机;
&燃气轮机&燃气轮机&燃气轮机;从内置导入*
&燃气轮机&燃气轮机&燃气轮机;超级的
<;位于0x000000010b4832e0的函数newsuper>;
&燃气轮机&燃气轮机&燃气轮机;超级模块__
“future.builtins.newsuper”
它可以按如下方式使用:
内置导入super的
类Foo(对象):
def f(自我):
打印('foo')
分类栏(Foo):
def f(自我):
super().f()#<;-哇,在那里
打印('bar')
b=巴()
b、 f()
哪个输出
foo
酒吧
如果使用pylint
,可以禁用带有注释的旧警告:
\pylint:disable=缺少超级参数