对于下面的代码,在我看来我们正在将打印函数分配给变量 spam。
spam = print('Hello!')
我想知道为什么不调用垃圾邮件,打印出“你好!”?
请您参考如下方法:
因为 spam 不是一个函数,它是使用参数 'Hello!' 调用函数 print 的结果,它是无,类型为NoneType。
如果你想将该表达式分配给一个变量,那么你可以使用 lambda:
l = lambda: print('Hello!') # Doesn't actually call print
l() # 1. Prints 'Hello!'
l() # 2. Prints 'Hello!'
l() # 3. Prints 'Hello!'
