Skip to main content
 首页 » 编程设计

python之在运行时创建一个动态命名的函数

2025年05月04日10fff_TT

我正在创建一个名为 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'); 

请您参考如下方法:

这并不能完全回答您的问题,但我建议您不要按照您的要求去做。您已经有了一个将数字和数据作为参数的方法,因此将数字转换为不同的方法名称似乎并不比您当前的方法更方便。