Python 如何检查构造函数是否已分配/初始化
我有如下代码片段Python 如何检查构造函数是否已分配/初始化,python,Python,我有如下代码片段 A = a_class() C= Another_Class(A) B = b_class() C = Another_Class(B) 我想在A或B为无时检查/提出错误,或者在X不是A或B时检查另一个_类(X) 谢谢。我不太明白你的问题,但要检查任何变量是否为None,你可以执行如果: if A == None or B == None: raise Exception 要在实例化新对象时引发异常,只需在\uuuuu init\uuuu方法中编写规则。本例认为Cl
A = a_class()
C= Another_Class(A)
B = b_class()
C = Another_Class(B)
我想在A或B为无时检查/提出错误,或者在X不是A或B时检查另一个_类(X)
谢谢。我不太明白你的问题,但要检查任何变量是否为
None
,你可以执行如果
:
if A == None or B == None:
raise Exception
要在实例化新对象时引发异常,只需在\uuuuu init\uuuu
方法中编写规则。本例认为ClassA
和ClassB
具有相同的父级,因此对于任何子级,您都可以检查它们是否具有相同的父级:
def __init__(self, attr):
if not isinstance(attr, Parent):
raise Exception
完整示例:
def main():
A = ClassA()
B = ClassB()
X = ClassX()
if A == None or B == None:
raise Exception
# Do not raise Exception
anotherClass = AnotherClass(A)
# Raise exception cause X doesn't inherit from Parent
anotherClass = AnotherClass(X)
class Parent(object):
pass
class ClassA(Parent):
pass
class ClassB(Parent):
pass
class ClassX(object):
pass
class AnotherClass(object):
def __init__(self, attr):
if not isinstance(attr, Parent):
raise Exception
if __name__ == '__main__':
main()
我认为A=None和A是一个具有self的对象。一些属性=None比特是不同的。你在找什么?在第二种情况下,我认为可以使用
isinstance()
除非您特别重写它们的\uu新方法,否则A
和B
都不能无。不清楚你的情况是什么,包括另一类。