Python函数指针

我有一个函数名存储在这样的变量中:

我有一个函数名存储在这样的变量中:

myvar = 'mypackage.mymodule.myfunction'

我现在想像这样调用 myfunction

myvar(parameter1, parameter2)

什么是最简单的方法来实现这一目标?

123
funcdict = {
  'mypackage.mymodule.myfunction': mypackage.mymodule.myfunction,
    ....
}
funcdict[myvar](parameter1, parameter2)
43

能够存储函数本身要好得多,因为它们是 python 中的一流对象。

import mypackage
myfunc = mypackage.mymodule.myfunction
myfunc(parameter1, parameter2)

但是,如果你必须动态导入包,那么你可以通过:

mypackage = __import__('mypackage')
mymodule = getattr(mypackage, 'mymodule')
myfunction = getattr(mymodule, 'myfunction')
myfunction(parameter1, parameter2)

但是请记住,所有这些工作都适用于您当前所在的范围。如果您不以某种方式坚持使用它们,那么如果您离开本地范围,就不能指望它们留在周围。

18
def f(a,b):
    return a+b
xx = 'f'
print eval('%s(%s,%s)'%(xx,2,3))
OUTPUT
 5
10

最简单

eval(myvar)(parameter1, parameter2)

你没有一个函数“指针”。你有一个函数“名称”。

虽然这很有效,但你会有很多人告诉你这是“不安全的”或“安全风险”。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(74)
在打字稿中一直使用.tsx而不是.ts有什么缺点吗
上一篇
使用 python进行梯度计算
下一篇

相关推荐

  • python中def用法详解定义函数的基本方法

    示例示例def 关键字用于定义函数,是Python中定义函数的必备关键字,它的语法格式如下:def 函数名(参数列表):…

    2023-04-14 01:48:49
    0 22 96
  • python股票数据:利用Python技术分析股票市场行情

    Python股票数据是指通过Python编程语言从股票市场获取股票数据的过程。它可以帮助投资者快速、准确地获取当前股票的价格、成交量和其他相关信息,以便做出更好的投资决策。…

    2023-06-27 08:07:46
    0 79 94
  • python乘法表倒三角9×9

    Python乘法表倒三角是指以下形式的乘法表:1*1=1…

    2023-05-02 12:43:17
    0 12 88
  • python图片文字识别代码解锁新的信息发现之旅

    Python图片文字识别代码是使用Python语言来实现从图片中识别文字的功能,可以帮助我们快速提取图片中的文字信息。下面是一段Python图片文字识别的代码:…

    2023-04-29 01:22:43
    0 21 50
  • python画波形图探索数据的时间序列趋势

    Python可以使用库来绘制波形图。下面是一个简单的例子,使用正弦函数绘制一个波形图:…

    2023-05-10 08:55:12
    0 86 93
  • python的yield方法:利用Python的yield方法提升编程效率

    示例示例yield 是一个类似 return 的关键字,只是这个函数返回的是一个生成器。Python 中 yield 的作用就是把一个函数变成一个 ,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 ,调用 yield 的函数不再是调用函数,而是生成一个 。…

    2023-04-10 04:13:58
    0 65 10
  • python灰度化:如何使用Python实现图像灰度化

    Python灰度化是指将图像从彩色变为灰度图像的过程,使用灰度图像可以更容易地识别和处理图像中的特征。Python灰度化的代码如下:…

    2023-04-21 01:15:37
    0 91 88
  • python入参:从Python参数创建可靠的应用程序

    Python入参是指在Python函数中传递参数的方式。Python函数可以接受不定数量的参数,可以是位置参数、关键字参数、默认参数、可变参数和命名参数。下面是一个示例代码:…

    2024-02-28 07:41:01
    0 50 41

发表评论

登录 后才能评论

评论列表(75条)