每当我使用名称调用函数时,它都会给出地址位置,但是如果我将其分配给新对象,则使用新对象名称进行调用会给出正确的输出。
def is_called():
def is_returned():
print("Hello")
return is_returned
new = is_called()
new() #Outputs "Hello"
但是当我仅使用函数名称is_called()
进行调用时,没有任何输出。
我是Python /编程语言的新手。
答案 0 :(得分:1)
调用is_called
返回一个函数对象,因此要调用is_called
返回的函数,您应该使用另一组括号:
is_called()()
答案 1 :(得分:0)
您要返回一个函数。在Python中,函数是“一流的对象”,这意味着它们是对象。如果您想使用当前代码获取“ Hello”,则必须致电
is_called()()
因为返回的是函数对象,而不是函数的结果。
您还可以修复is_drawn()返回
is_returned()
答案 2 :(得分:0)
def is_called():
def is_returned():
print("Hello")
return is_returned
new = is_called()
new() ## Important Line
OR
def is_called():
def is_returned():
print("Hello")
return is_returned() ## Important Line
is_called()
#OR
new = is_called ## Important Line
new()