我一直试图在过去的几个小时里弄清楚这一点,而我即将放弃。Python检查__init__参数
你如何确保在Python中只有匹配的特定条件才会创建对象?
例如,假设我想创建一个对象Hand,并且只在初始化程序中有足够的Fingers时初始化一个Hand? (请只是以此为比喻)
说,
class Hand:
def __init__(self, fingers):
# make sure len(fingers)==5, and
#only thumb, index, middle, ring, pinky are allowed in fingers
pass
感谢。
这些是我发现的最接近的问题,但一个是在C++中,另一个不回答我的问题。
checking of constructor parameter
How to overload __init__ method based on argument type?
如果情况并非如此,您会发生什么?你想让它产生某种异常吗? – BrenBarn
我想这将是一个好方法。只是为了确保我不会创建错误的对象。 – chemelnucfin