Python:在 Class 的外部函数中调用内部函数
Python: Calling Inner Function Within Outer Function Within a Class
我有一个带有方法函数的 class 对象。在这个方法函数“动物”中,我有一个我想调用的内部函数。但似乎我的内部函数没有被调用,因为正确的结果应该return“点击此处”而不是“示例文本”。
这是我的 class 代码:
class PandaClass(object):
def __init__(self, max_figure):
self.tree = {}
self.max_figure = max_figure
def animal(self, list_sample, figure):
def inner_function():
if len(list_sample) == 0:
return "hit here"
inner_function()
return "sample text"
我实例化 class 并使用以下代码调用动物函数:
panda = PandaClass(max_figure=7)
panda.animal(list_sample=[], figure=0)
我希望代码 return“点击此处”,这意味着内部函数得到 运行 但我得到的是“示例文本”。请告诉我如何更正此问题。
return
总是将其结果提供给调用它的代码。在这种情况下,外部函数调用内部函数,因此内部函数return将它的值传递给外部函数。
如果你想让外部函数return得到内部函数return的结果,你需要做这样的事情:
def animal(self, list_sample, figure):
def inner_function():
if len(list_sample) == 0:
return "hit here"
inner_func_result = inner_function()
if inner_func_result:
return inner_func_result
else:
return "sample text"
我有一个带有方法函数的 class 对象。在这个方法函数“动物”中,我有一个我想调用的内部函数。但似乎我的内部函数没有被调用,因为正确的结果应该return“点击此处”而不是“示例文本”。
这是我的 class 代码:
class PandaClass(object):
def __init__(self, max_figure):
self.tree = {}
self.max_figure = max_figure
def animal(self, list_sample, figure):
def inner_function():
if len(list_sample) == 0:
return "hit here"
inner_function()
return "sample text"
我实例化 class 并使用以下代码调用动物函数:
panda = PandaClass(max_figure=7)
panda.animal(list_sample=[], figure=0)
我希望代码 return“点击此处”,这意味着内部函数得到 运行 但我得到的是“示例文本”。请告诉我如何更正此问题。
return
总是将其结果提供给调用它的代码。在这种情况下,外部函数调用内部函数,因此内部函数return将它的值传递给外部函数。
如果你想让外部函数return得到内部函数return的结果,你需要做这样的事情:
def animal(self, list_sample, figure):
def inner_function():
if len(list_sample) == 0:
return "hit here"
inner_func_result = inner_function()
if inner_func_result:
return inner_func_result
else:
return "sample text"