如何解决设置 __init__ 三路参数的 Pythonic 方法:
嗨,我有一个与某些输入格式相关的相当简单的问题。我已经实现了一个 Satellite 类,它可以作为 可选 参数、仪器、其中一个或多个接收。我需要在内部将其表示为列表。
class Satellite(object):
def __init__(self,other_arguments,instruments = None):
self._other_arguments = other_arguments
if not instruments:
self.instruments = []
elif not isinstance(instrumentss,list):
self.instruments = [instruments]
else:
self.instruments = instruments
@property
def instruments(self):
return self._instruments
@instruments.setter
def instruments(self,instrument):
for instr in instruments:
if not isinstance(instr,Instrument):
raise Exception("error message")
self._instruments = instruments
如果用户只想输入一种乐器,我觉得让他们作为参数传递 1 项列表 [the_one_instrument]
而不是 the_one_instrument
我实现的东西是有效的,但我觉得它太冗长了,也许有另一种解决这个问题的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。