白衣非少年
您的代码示例都有语法错误,因此不清楚您到底在追求什么。但是,是的,您可以将一个函数作为参数传递给另一个函数。常见的示例是回调函数或您可能希望在另一个过程中应用的函数。这是一个例子:# print_os takes an integer and prints that many o'sdef print_os(n): print('o' * n)# here, f is expected to be a function, any function that takes an integerdef for_multiples_of_three(xs, f): for x in xs: if x % 3 == 0: f(x)for_multiples_of_three([2, 6, 1, 9, 4, 5, 3], print_os)结果:oooooooooooooooooo或这个:def first_letter(s): return s[0] if s else ''def for_each_word(s, f): return [f(x) for x in s.split()]print(for_each_word('Not a very useful function', first_letter))结果:['N', 'a', 'v', 'u', 'f']需要注意的重要一点是,函数只是您可以在 Python 中执行的另一件事。类似于将数字、字符串或其他对象分配给变量以便以后能够使用它,您可以将函数分配给变量并稍后调用它。您的示例中的错误是您添加了(),这意味着 Python 尝试调用该函数并从中获取结果 - 然后将结果传递给下一个函数。那不是用函数调用函数,而是用另一个函数的结果调用函数:def three(): return 3def print_sum(x, y): print(x+y)print_sum(2, three())结果:5