示例代碼:
class A:
class B:
def __init__(self):
pass
var = A.B()
我需要一個函式,假設check_if_class_parent(obj, class_type)它會檢查是否var是內部類的實體,其外部類是A,如果我運行check_if_class_parent(var, A),它將回傳True
有時類結構可能是這樣的:
class A:
class B:
def __init__(self):
pass
class C:
def __init__(self):
pass
var = A.B.C()
var_two = A.B()
check_if_class_parent(var, A), check_if_class_parent(var, B), andcheck_if_class_parent(var_two, A)都會回傳True,但check_if_class_parent(var, C)會回傳False
uj5u.com熱心網友回復:
一個
outer屬性可以被添加到內部類,在這種情況下,它只是一個行走的任何事情的outer一個值的型別屬性發現,看看是否A可以達成。然而,這確實增加了額外的定義。可以從 開始進行搜索
A。例如(根本不考慮任何卑鄙的回圈參考):
def is_type_within(obj, type_):
if isinstance(obj, type_):
return True
for attr in dir(type_):
if attr.startswith('__'):
continue
if is_type_within(obj, getattr(type_, attr)):
return True
return False
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/346105.html
上一篇:如何通過在python中讀取來自sys.argv的輸入有效地創建多個json有效負載
下一篇:如何給出一周中的天數
