我是OOP新手,编写这个类需要许多(>;=9)默认值“硬编码”参数,这些参数只在这个类中使用。你知道吗
在类中定义这些内容的正确方法是什么?你知道吗
解决方案#1
class SomeCLass():
__param1 = 'param1'
__param2 = 'param2'
__param3 = 'param3'
__param4 = 'param4'
def some_method(self):
return self.__param1
或者我应该这样做
解决方案#2
class SomeCLass():
def __init__(self, param1 = 'param1', param2 = 'param2', ....,
...param8 = 'param'):
self.param1 = param1
谢谢
简短回答:解决方案1将包含名为
paramN
的字段,解决方案2将包含指向构造函数的参数,但不包含类实例中的字段。你知道吗要做到这一点,最简单的方法就是演示它。我将更改类的名称,这样它们就不会冲突,为了简洁起见,我将每个类限制为两个参数。你知道吗
如果希望SomeClass2具有param字段,则需要通过捕获参数在
__init()__
方法中处理该字段:不过,请注意,这些参数并没有按照您的要求进行硬编码。你知道吗
至于哪个是正确的,那要看你想做什么了。这两种解决方案都是有效的python代码。你知道吗
相关问题 更多 >
编程相关推荐