【问题标题】:Python Method Signature for Different Runtime Execution Data不同运行时执行数据的 Python 方法签名
【发布时间】:2018-02-01 01:23:15
【问题描述】:

谁能告诉我这个想法在 Python 中是否可行? 我想要一个方法,并且签名的数据类型不固定。

例如: Foo(data1, data2)

  • Foo(2,3)
  • Foo(s,t)

如果我将 Foo(s,t) 更改为 Foo("s","t"),我知道代码可以工作。但我试图让代码更智能地识别没有“”的命令......

【问题讨论】:

  • Foo(s, t) 只要定义了st 就可以了。

标签: python python-3.x methods


【解决方案1】:

singledispatch 可能是一个答案,它将函数转换为通用函数,根据其第一个参数的类型,该函数可能具有不同的行为。

您可以在上面的链接中看到一个具体的示例。如果你想对多个参数进行泛型调度,你应该做一些特殊的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多