本问题已经有最佳答案,请猛点这里访问。
我使用format来测试Python中的函数。我想要一个函数的输出
1 2 | def test(f,k): print"{0}({1})={2}".format(f,k,f(k)) |
鉴于
1 | test(Sqrt,4) |
是
1 | Sqrt(4)=2 |
但是format返回了类型'function'和一个在角括号内的内存地址。有没有一种简洁的方法来缩短输出来得到我想要的?
您希望使用
1 2 3 4 | def test(f,k): print("{0}({1})={2}".format(f.__name__,k,f(k))) test(sqrt, 2) |
输出:
1 | sqrt(2)=1.4142135623730951 |
从这里的数据模型文档的"可调用类型"部分,
1 | __name__ func_name : The function’s name. |
仔细阅读文档,了解当您想要使用这些类型的属性时,哪些是可用的。通常,这对于可调用类型是可用的(例如,当定义一个方法或类时,
1 | x = 5 |
并尝试调用
与Python中的大多数对象不同,函数有一个
1 | print"{0}({1})={2}".format(f.__name__, k, f(k)) |
类也有一个