gpt4 book ai didi

Python:将打印函数作为参数发送

转载 作者:太空狗 更新时间:2023-10-30 01:01:53 24 4
gpt4 key购买 nike

我的教授提到过可以将 print 之类的函数作为参数传递,但是当我尝试并实际实现它时,我遇到了语法错误。我在这里缺少什么小东西吗?

 def goTime(sequence, action):
for element in sequence:
action(element)

def main():
print("Testing Begins")
test = list ( range( 0 , 20, 2) )
goTime(test, print)
print("Testing Complete")

运行以下命令后,我收到此语法错误:

goTime(test, print)
^
SyntaxError: invalid syntax

如果我定义自己的使用 print 的函数,它会像这样工作:

def printy(element):
print(element)

def goTime(sequence, action):
for element in sequence:
action(element)

def main():
print("Testing Begins")
test = list ( range( 0 , 20, 2) )
goTime(test, printy)
print("Testing Complete")

最佳答案

在 Python 3 中开箱即用。然而,在 Python 2.7 中,您可以:

from __future__ import print_function
def foo(f,a):
f(a)

foo(print,2)
2

请注意,在 Python2.7 中执行 from __future__ import print_function 后,您将无法再像关键字一样使用 print:

>>> from __future__ import print_function
>>> print 'hi'
File "<stdin>", line 1
print 'hi'
^
SyntaxError: invalid syntax

尽管我认为您的教授只是想指出 Python 中的函数是一等公民(即:对象),并且它们可以像任何其他变量一样传递。不过,他使用了一个有争议的例子:)

希望这对您有所帮助!

关于Python:将打印函数作为参数发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com