【问题标题】:Define operator as function in Python (iteration)在 Python 中将运算符定义为函数(迭代)
【发布时间】:2021-05-14 03:54:55
【问题描述】:

我想定义一个函数 H 进行以下转换:

H(Psi(x)) = Psi(x+1) + a * Psi(x)

其中 Psi(x) 是 x 的某个函数。

我该如何处理?

【问题讨论】:

  • 你可能想看看sympy
  • 你应该明确你想如何使用你的函数。请注意,您的符号应该类似于H(Psi)(x) = ...

标签: python function iteration operators


【解决方案1】:

使用闭包:

def make_H(Psi):
    def H(x):
        return Psi(x+1) + a * Psi(x)
    return H

像这样使用它(假设您已经定义了Psia):

H = make_H(Psi)
y = H(x)

如果您愿意,也可以一步完成:

y = make_H(Psi)(x)

或将 Phi 作为 lambda 提供:

y = make_H(lambda x: 1/x)(x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    相关资源
    最近更新 更多