Python %函数字符串的和/或格式

Python %函数字符串的和/或格式,python,string,function,Python,String,Function,我正在使用format测试Python中的函数。我想要一个函数的输出 def test(f,k): print "{0}({1})={2}".format(f,k,f(k)) 给定 test(Sqrt,4) 将来 但格式正在返回类型“函数”和角括号内的内存地址。有没有一个简洁的方法来缩短输出以获得我想要的 您希望使用\uuuu name\uuuu: def test(f,k): print("{0}({1})={2}".format(f.__name__,k,f(k)))

我正在使用format测试Python中的函数。我想要一个函数的输出

def test(f,k):
    print "{0}({1})={2}".format(f,k,f(k))
给定

test(Sqrt,4)
将来


但格式正在返回类型“函数”和角括号内的内存地址。有没有一个简洁的方法来缩短输出以获得我想要的

您希望使用
\uuuu name\uuuu

def test(f,k):
    print("{0}({1})={2}".format(f.__name__,k,f(k)))

test(sqrt, 2)
输出:

sqrt(2)=1.4142135623730951
从数据模型文档的“可调用类型”部分中,
\uuuuuu name\uuuuuu
只是:

__name__ func_name : The function’s name.
仔细阅读文档,了解当您想要使用这些类型的属性时,您可以使用什么。通常,这将对可调用类型可用(例如,在定义方法或类时,
\uuu\uu名称
属性将对您可用)。但如果您只是定义一个不可调用的

x = 5

然后尝试调用
x.\uuuu name\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

def test(f,k):
    print("{0}({1})={2}".format(f.__name__,k,f(k)))

test(sqrt, 2)
输出:

sqrt(2)=1.4142135623730951
从数据模型文档的“可调用类型”部分中,
\uuuuuu name\uuuuuu
只是:

__name__ func_name : The function’s name.
仔细阅读文档,了解当您想要使用这些类型的属性时,您可以使用什么。通常,这将对可调用类型可用(例如,在定义方法或类时,
\uuu\uu名称
属性将对您可用)。但如果您只是定义一个不可调用的

x = 5

然后尝试调用
x.\uuuu name\uuuu
,您将遇到一个
AttributeError
与Python中的大多数对象不同,函数将
\uu name\uuuu
属性设置为它们定义时使用的名称。你可以这样做:

print "{0}({1})={2}".format(f.__name__, k, f(k))

类也有一个
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
,但大多数其他可调用项没有。如果
f
是其他类型的可调用对象,则必须以不同的方式处理它,具体方式取决于它是哪种类型的可调用对象以及是否控制其实现。

与Python中的大多数对象不同,函数将
\uu name\uu
属性设置为它们定义时使用的名称。你可以这样做:

print "{0}({1})={2}".format(f.__name__, k, f(k))
类也有一个
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
,但大多数其他可调用项没有。如果
f
是其他类型的可调用函数,那么您必须以不同的方式处理它,具体方式取决于它是什么类型的可调用函数以及您是否控制它的实现