AGu*_*oux 3 python class function
我想在 python 中定义一个类,其行为类似于具有附加属性的函数。特别是,它应该无缝地应用于变量。
\n让\xe2\x80\x99s尝试用数学例子来解释。假设我非常喜欢 sinino\xc3\xafdal 函数,但也对它们的频率感兴趣。函数 x -> sin(omega x) 具有属性频率,即 omega 的值。它也可以应用于浮点数 x。
\n我可以写:
\nfrom numpy import sin, pi\n\nclass SinFunc:\n def __init__(self, omega):\n self.frequency = omega\n\n def apply_to(self, x):\n return sin(self.frequency * x)\n
Run Code Online (Sandbox Code Playgroud)\n然后我可以使用 sinino\xc3\xafdal 函数:
\nMySinFunc = SinFunc(3)\nprint(MySinFunc.frequency)\nprint(MySinFunc.apply_to(pi)) \n# output\n# 3\n# 0 (almost!)\n
Run Code Online (Sandbox Code Playgroud)\n但我想要的是能够直接写入MySinFunc(pi)
,并且属性频率仍然定义。
如何实现?\n谢谢!
\n 归档时间: |
|
查看次数: |
777 次 |
最近记录: |