在Python中,在不使用traceback模块的情况下,有没有办法从该函数中确定该函数的名称?

假设我有一个功能为bar的模块foo.执行foo.bar()时,bar有没有办法知道bar的名字?或者更好,foo.bar的名字?

#foo.py  
def bar():
    print "my name is", __myname__ # <== how do I calculate this at runtime?

推荐答案

Python没有访问函数或函数本身中函数名的功能.它已经被拒绝了proposed次.如果你不想自己玩这个堆栈,你应该根据上下文使用"bar"bar.__name__.

给出的拒绝通知是:

此PEP被拒绝.目前还不清楚它应该如何实现,也不清楚边缘情况下的确切语义应该是什么,也没有给出足够多的重要用例.react 充其量也就是不温不火.

Python相关问答推荐

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

Django管理面板显示字段最大长度而不是字段名称

连接两个具有不同标题的收件箱

将jit与numpy linSpace函数一起使用时出错

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

如果值不存在,列表理解返回列表

如何在Python中并行化以下搜索?

如何获取numpy数组的特定索引值?

如何在TensorFlow中分类多个类

如何使用Numpy. stracards重新编写滚动和?

Polars将相同的自定义函数应用于组中的多个列,

ConversationalRetrivalChain引发键错误

Gunicorn无法启动Flask应用,因为无法将应用解析为属性名或函数调用.'"'' "

当条件满足时停止ODE集成?

如果有2个或3个,则从pandas列中删除空格

如何反转一个框架中列的值?

如何在Airflow执行日期中保留日期并将时间转换为00:00

如何设置nan值为numpy数组多条件

仅取消堆叠最后三列

我怎样才能让深度测试在OpenGL中使用Python和PyGame呢?