在python中,如何强制将函数参数设为特定的Class

时间:2018-07-12 14:46:20

标签: python python-3.x parameter-passing

在以下示例中

class A():
    def __init__(self):
        self.foo = 'foo'

class B():
    def __init__(self, a):
        self.a = a

a = A()
B(a)    # right
B('a')  # wrong

我想做类似B.__init__(self, a:A)的事情,以便类B中的参数是A的对象。

1 个答案:

答案 0 :(得分:1)

您可以随时提出一个ValueError

class B():
    def __init__(self, a: A):
        if not isinstance(a, A):
            raise ValueError("a must an object of class A")
        self.a = a