You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中是否存在类似Solidity的Fallback Function?

Python中的"Fallback Function"实现

Python中可以通过**getattr**特殊方法实现类似Solidity中Fallback Function的功能——当访问对象不存在的属性(包括方法)时,该方法会被自动触发。

示例实现

class A:
    def __getattr__(self, function_name):
        # 返回可调用的逻辑,处理不存在的方法调用
        def fallback(*args, **kwargs):
            print(f"Function {function_name} doesn't exist")
        return fallback

调用测试

a = A()
a.non_existent()  # 输出: Function non_existent doesn't exist
a.unknown_method(100, msg="test")  # 输出: Function unknown_method doesn't exist

关键说明

  • __getattr__的参数function_name就是尝试访问的不存在的方法名(或属性名)。
  • 我们在__getattr__内返回一个自定义的fallback函数,这样调用不存在的方法时,实际执行的就是这个返回的逻辑,不会抛出AttributeError异常。
  • 如果需要处理普通属性(而非方法)的访问,也可以在__getattr__中直接返回对应值或执行其他自定义逻辑。

内容的提问来源于stack exchange,提问作者Mecanicul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:31:09