我有4个类,每个类都有几种方法。我需要这些方法使用一些类变量作为参数,例如:
class Orange:
def __init__(self,banana):
self.banana = banana
def apple(self,fruit=self.banana):
return something
我已经发现这种做法行不通,因为方法参数在函数创建时就被定义了,而不是在调用时定义,所以我在这里找到了一个解决方法:
def apple(self,fruit=None):
if fruit is None:
fruit = self.banana
但问题是,我大约有50个参数(不是每个方法中都有,而是从所有类的所有方法中总结出来的),使用这种方法,我将得到大约一百行新代码,这对我来说似乎非常"肮脏"...难道没有更简单的方法来实现这个吗?
fruit = self.banana if fruit is None else fruit
。这样可以减少一半的代码行数。但我会选择使用完整语句。 - juanpa.arrivillaga