相关疑难解决方法(0)

如何检测Python变量是否为函数?

我有一个变量,x我想知道它是否指向一个函数.

我希望我可以这样做:

>>> isinstance(x, function)
Run Code Online (Sandbox Code Playgroud)

但这给了我:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: name 'function' is not defined
Run Code Online (Sandbox Code Playgroud)

我选择它的原因是因为

>>> type(x)
<type 'function'>
Run Code Online (Sandbox Code Playgroud)

python

629
推荐指数
15
解决办法
23万
查看次数

Python:如何定义一个行为类似函数的类?

我想在 python 中定义一个类,其行为类似于具有附加属性的函数。特别是,它应该无缝地应用于变量。

\n

让\xe2\x80\x99s尝试用数学例子来解释。假设我非常喜欢 sinino\xc3\xafdal 函数,但也对它们的频率感兴趣。函数 x -> sin(omega x) 具有属性频率,即 omega 的值。它也可以应用于浮点数 x。

\n

我可以写:

\n
from 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 函数:

\n
MySinFunc = 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谢谢!

\n

python class function

3
推荐指数
1
解决办法
777
查看次数

标签 统计

python ×2

class ×1

function ×1