如何实现Python类嵌套属性/方法调用时输出路径并返回指定值?
构建追踪嵌套属性/方法调用的Python类
我在处理递归问题时遇到困难,希望构建一个具备以下特性的Python类:
- 调用嵌套属性时输出属性路径,例如
o.foo.bar被调用时输出"o.foo.bar"; - 调用嵌套方法时输出方法调用路径,例如
o.foo.bar(True)输出"o.foo.bar(True)"; - 上述属性/方法调用最终返回指定值,例如返回"1"。
示例代码
>>> o = MyClass() >>> result = o.foo.bar "o.foo.bar" >>> print(result) 1
我尝试的代码
class MyClass: def __init__(self): self.a = [] def __getattr__(self, name): self.a.append(name) print(self.a) return self o = MyClass() result = o.foo.bar
用途说明
这是简化后的代码,用于剥离复杂上下文。我当前正在尝试封装Photoshop的JS API,该类可帮助我通过编写相同的API函数在Python中调用Photoshop功能。其中print操作将替换为对PS Server的调用,result将替换为调用的实际结果。
内容的提问来源于stack exchange,提问作者fedixal
相关产品推荐
相关产品推荐

