如何在python中将函数分配给变量,然后使用参数调用
我将函数赋值给一个变量,如下所示:如何在python中将函数分配给变量,然后使用参数调用,python,Python,我将函数赋值给一个变量,如下所示: def hello(name): print "Hello %r \n" % name king = hello print "%r, King of Geeks" % king("Arthur") 在终端中,它返回: “亚瑟”你好 没有,极客之王 给出什么?hello()正在打印某些内容,但不返回任何内容。(默认情况下,所有函数都返回None,除非您明确地返回something) 如果让hello()返回文本,而不是打印文本,则会得到预期结果:
def hello(name):
print "Hello %r \n" % name
king = hello
print "%r, King of Geeks" % king("Arthur")
在终端中,它返回:
“亚瑟”你好没有,极客之王 给出什么?
hello()
正在打印某些内容,但不返回任何内容。(默认情况下,所有函数都返回None
,除非您明确地返回something)
如果让hello()
返回文本,而不是打印文本,则会得到预期结果:
def hello(name):
return "Hello %r \n" % name
king = hello
print "%r, King of Geeks" % king("Arthur")
“你好,亚瑟”\n,极客之王
我建议也使用以下方法代替%
:
print "{}, King of Geeks".format(king("Arthur"))
hello()
正在打印某些内容,但未返回任何内容。(默认情况下,所有函数都返回None
,除非您明确地返回something)
如果让hello()
返回文本,而不是打印文本,则会得到预期结果:
def hello(name):
return "Hello %r \n" % name
king = hello
print "%r, King of Geeks" % king("Arthur")
“你好,亚瑟”\n,极客之王
我建议也使用以下方法代替%
:
print "{}, King of Geeks".format(king("Arthur"))
您的hello
函数是print
ing它创建的字符串,而不是返回它
然后尝试将调用函数的返回值替换为另一个字符串
因为您的hello
函数不返回任何内容,它实际上会返回None
,因此在中会被替换。只需在hello
函数中将打印
更改为返回
,事情就会按预期工作。您的hello
函数是打印它创建的字符串,而不是返回它
然后尝试将调用函数的返回值替换为另一个字符串
因为您的hello
函数不返回任何内容,它实际上会返回None
,因此在中会被替换。只要在hello
函数中将打印
更改为返回
,事情就会按预期进行。您正在打印调用国王(“亚瑟”)
的结果,该结果是无
,因为它不返回值 您正在打印调用king(“Arthur”)
的结果,该结果为None
,因为它不返回值 这同样有效
def hello(name):
print("hello, %s" % name)
king = hello
king("arthur")
输出
hello, arthur
这同样有效
def hello(name):
print("hello, %s" % name)
king = hello
king("arthur")
输出
hello, arthur
由于没有return
语句,因此该方法返回None
,这是您看到的打印内容。您可能不希望使用%r
,因为它返回对象的repr
,可能不是您期望的字符串。尝试将其替换为%s
(在实现下面的建议之后)。由于没有return
语句,该方法返回None
,这就是您看到的打印内容。您可能不希望使用%r
,因为它返回对象的repr
,并且可能不是您期望的字符串。尝试将其替换为%s
(在执行以下建议后)。谢谢,这让我明白了一切!谢谢,这让我明白了!