我正在创建一个名为pyma
的简单包,可在pypi上使用。你知道吗
我用一个叫做NDayEMA(n, data)
的函数提供了一种计算N天指数移动平均数的方法。(事实上,它是一个名为NDayEMA
的类,有一个名为compute()
的函数,但在这里并不相关。)
我试图在运行时创建一个动态命名的函数作为用户的快捷方式。你知道吗
例如:
NDayEMA(30, data)
以及
EMA30(data)
会是一样的
EMA23(data)
EMA1023(data)
EMA12(data)
也可以使用。你知道吗
我知道我将需要一些注册和处理,这是不需要在你的答案,我会得到它自己!我正在搜索如何接收用户提供的函数名,并使用该名称创建函数,而不引发错误消息。你知道吗
这里是来自Laravel PHP framework的PHP等价物。你知道吗
$user = DB::table('users')->where_email_and_password('example@gmail.com', 'secret');
这并不能完全回答你的问题,但我建议不要按你的要求去做。您已经有了一个将数字和数据作为参数的方法,因此将数字转换为不同的方法名似乎比您当前的方法更方便。你知道吗
我同意阿里的观点,你所做的并没有给你带来任何好处,所以可能不值得去做。你知道吗
但是,如果您确实想这样做,您可以滥用模块加载/
__getattr__
,并按照本post中所述破解一个解决方案。你知道吗基本上,如果我们有一个名为
foo.py
的文件,它是这样的:然后,您需要将
foo.py
的内容更改为如下所示:每当您试图调用对象中缺少的属性或方法时,
__getattr__
方法就会被调用。但是,没有一个__getattr__
函数可以为模块工作。因此,我们要做的是将我们的模块转换成一个类,然后在最后用类替换模块。你知道吗我们现在可以导入
foo
并执行以下操作:相关问题 更多 >
编程相关推荐