对于以下代码,在我看来,我们正在将打印功能分配给变量spam。
spam = print('Hello!')
Run Code Online (Sandbox Code Playgroud)
我想知道为什么不打电话给垃圾邮件,打印出来“你好!”?
因为spam不是函数,所以它是使用类型为print的参数调用函数的结果。'Hello!'NoneNoneType
如果要将该表达式分配给变量,则可以使用lambda:
l = lambda: print('Hello!') # Doesn't actually call print
l() # 1. Prints 'Hello!'
l() # 2. Prints 'Hello!'
l() # 3. Prints 'Hello!'
Run Code Online (Sandbox Code Playgroud)