当前位置: 首页 > 面试题库 >

Python-如何获得一个函数名作为字符串?

瞿健
2023-03-14
问题内容

在Python中,如何在不调用函数的情况下以字符串形式获取函数名称?

def my_function():
    pass

print get_function_name_as_string(my_function) # my_function is not in quotes

应该输出"my_function"

此类功能在Python中可用吗?如果没有,关于如何get_function_name_as_string在Python中实现的任何想法?


问题答案:
my_function.__name__

使用__name__是首选的方法,因为它可以统一应用。与不同func_name,它还可以用于内置函数:

>>> import time
>>> time.time.func_name
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'builtin_function_or_method' object has no attribute 'func_name'
>>> time.time.__name__ 
'time'

同样,双下划线向读者表明这是一个特殊的属性。另外,类和模块也具有__name__属性,因此你只记得一个特殊名称。



 类似资料:
  • 在JS中,有没有一种方法可以在HTML标记中获得整个HTML(作为字符串)?

  • 问题内容: 我有一个JavaScript函数的名称作为字符串。如何将其转换为函数指针,以便以后可以调用? 根据情况,我可能还需要将各种参数传递给该方法。 某些功能可能采用的形式。 问题答案: 除非您 绝对 没有其他选择 , 否则不要使用。 如前所述,使用这种方法将是最好的方法: 但是,这将不适用于名称空间的功能: 您将按照以下方式进行操作: 为了使操作更简单并提供一些灵活性,这里提供了一个便捷功能

  • 本文向大家介绍如何在Python中获取变量名称作为字符串?,包括了如何在Python中获取变量名称作为字符串?的使用技巧和注意事项,需要的朋友参考一下 实际上,这不是您在Python中所做的事情,因为变量实际上是对象的名称映射。Python中唯一具有规范名称的对象是模块,函数和类,并且在定义函数或类或导入模块后,当然不能保证此规范名称在任何命名空间中都具有任何含义。这些名称也可以在创建对象之后进行

  • 问题内容: 例如,如果我有一个像这样的函数 我希望能够将字符串或输入转换为直接指向该函数,例如 要么 有什么方法可以使用w来引用函数add吗? 问题答案: 由于要接受用户输入,因此最安全的方法是准确定义有效输入: 如果要评估像这样的字符串,则可以使用安全的eval: 通常,将其应用于用户输入时可能会很危险。 由于 已禁用, 并且限制为,因此上述方法更安全 。比我聪明的人可能仍然会造成麻烦,但是我无

  • 问题内容: 此线程讨论如何在Python中以字符串形式获取函数名称:如何在Python中以字符串 形式获取函数名称? 如何对变量执行相同操作?与函数相反,Python变量没有属性。 换句话说,如果我有一个变量,例如: 我正在寻找一个功能/属性,例如: 返回字符串 更新: 由于人们在问我为什么要这样做,这里有一个例子。我想从此列表在Pandas中创建一个DataFrame,其中列名称 由实际字典的名

  • 本文向大家介绍如何在Python中以字符串形式获取函数名称?,包括了如何在Python中以字符串形式获取函数名称?的使用技巧和注意事项,需要的朋友参考一下 每个函数都有一个名为__name__的属性。我们可以访问该属性并获取函数的名称。例如: 这将给我们输出: