【发布时间】:2014-01-17 17:36:26
【问题描述】:
假设我有一个用 Python 编写的类,如下所示:
class Foo(object):
"""My fake class"""
def mymethod(self, first_arg):
"""original method"""
pass
现在假设我定义了一个扩展前一个类的新类,并且我想覆盖 mymethod:
class Bar(Foo):
"""My new class"""
def mymethod(self, first_arg, second_arg):
"""overridden method"""
return first_arg == second_arg
更改被覆盖方法中的参数数量是一种不好的做法吗?
编辑:
对此有任何官方的“良好做法”规则吗? 我刚刚看到如果你在 pydev 中做这样的事情你会收到一个警告,所以我想应该有一些“官方”的东西。
【问题讨论】:
-
提示:第二个代码中的
if/else块可以简化为:return first_arg == second_arg。 -
@iCodez 当然! (我只是想写几行没用的代码)
-
任何和所有“良好实践”规则都可以在official python code nazi bible中找到
标签: python overriding