假设我有以下内容:
class Parent(object):
[...]
def func(self, list):
for item in list:
if condition1:
do something
class Child(Parent):
[...]
def func(self, list):
for item in list:
if condition1 and condition2:
do something
将 condition2 添加到 func 而无需重新复制整个函数的优雅方法是什么?请注意,我实际上在嵌套的“ifs”中有两个附加条件。
请您参考如下方法:
如果您有权访问 Parent,您可以这样做
class Parent(object):
[...]
def _condition(self, whatever):
return condition1
def func(self, list):
for item in list:
if self._condition(...):
do something
class Child(Parent):
[...]
def _condition(self, whatever):
return condition1 and condition2
