标记为已解决,因为: 解决的解决方案提供了一个足够好的解决方案,即使它不能完全解决按需动态生成函数名的问题
我想生成一个函数,它返回自己的带有参数的签名。这在Python中可能吗?因此,函数由调用本身生成,并返回表示其自身名称和参数的字符串
以下是我正在寻找的一个简单示例:
class Object(object):
#Impl here?
pass
a = Object()
returned_string = a.foo(param1 = 1, param2 = "cheese")
print(returned_string)
#should print: a.foo(param1 = 1, param2 = "cheese")
#or print: foo(param1 = 1, param2 = "cheese")
重要的是,foo是一个任意名称,不应该是“硬编码”的,而是生成的
代码应考虑以下内容:
print(a.doodle(param1 = 32)) #prints: doodle(param1 = 32)
print(a.bar(param42 = "pi")) #prints: bar(param42 = "pi")
没有定义进一步的功能
谢谢:)
我假设你的意思是,一旦你创建了一个对象,函数就能够返回它自己的输入参数。当然,您可以将其修改为字符串形式,但要返回的是作为该对象和函数的签名的输入参数
foo
将其作为字符串返回-
您应该能够使用
**kwargs
做您想做的事情。例如:它的工作原理是:
如果不想硬编码名称,可以使用^{} :
下面是您想要的函数:
因此,如果你这样做:
a = Object()
及a.your_function(abc="abc", ert=3)
它将返回:
your_function(abc = abc, ert = 3)
相关问题 更多 >
编程相关推荐