函数中的相互作用疑惑
学习 python 函数时,您可能会遇到一些疑惑。例如,两个函数是否可以相互作用?为了解答这个疑问,我们来看一个代码示例:
def make_great(names): for name in names: name_1 = "the great " + name.title() print(name_1) def show_magicians(names): for name in names: print(name.title()) names = ["a", "b", "c", "tutu", "mumu"] make_great(names) show_magicians(names)
登录后复制
您希望先调用第一个函数 make_great 修改列表 names,再调用第二个函数 show_magicians 显示修改后的列表。然而,这段代码却无法达到预期的效果,因为 make_great 函数不会返回任何值,因此 make_great(names) 实际上是 none,而 show_magicians(none) 显然不是您想要的结果。
为了实现您的目标,可以使用 python 的 map 函数。map 函数将一个函数应用于中的每个元素,并返回一个新的可迭代对象,其中包含应用函数后的结果。
立即学习“”;
def make_great(names): return map(lambda name: "the Great " + name.title(), names) def show_magicians(names): for name in names: print(name.title()) names = ["A", "b", "c", "tutu", "mumu"] show_magicians(make_great(names))
登录后复制
在这个修改后的代码中,make_great 函数返回一个包含修改后名称的可迭代对象,作为 show_magicians 函数的输入。这样一来,show_magicians 函数可以正确地显示修改后的名称。
以上就是Python 函数如何实现相互作用?的详细内容,更多请关注php中文网其它相关文章!