БГ
Size: a a a
БГ
E
R3
БГ
def resolve(obj_name: str):
root, *chain = obj_name.split(".")
names = globals()
obj = names.get(root)
for attr_name in chain:
obj = getattr(obj, attr_name, None)
return obj
БГ
E
I
БГ
def safe_import(module_name: str):
try:
module = __import__(module_name)
except ImportError:
module = None
return module
def full_resolve(obj_name: str):
root, *chain = obj_name.split(".")
names = globals()
if root in names:
obj = names.get(root)
else:
obj = safe_import(root)
for attr_name in chain:
obj = getattr(obj, attr_name, None)
return obj
БГ
БГ
__getattr__
то она будет работать на модуле?🤔🤔🤔БГ
БГ
E
K
БГ
БГ
БГ
БГ