Skip to main content
 首页 » 编程设计

python之将执行顺序与打印函数调用作为函数参数混淆

2025年05月04日14kuangbin

当我运行时

def func(one,two): 
    print(one) 
    two 
 
func("1",print("hi")) 
func("2",print("hello")) 

在解释器 session 中,我得到输出:

hi 
1 
hello 
2  

代码不应该从上到下运行吗?我期望的输出是:

1 
hi 
2 
hello 

请您参考如下方法:

print 语句返回 None,您将其作为第二个参数传递给您的函数。

当你调用 func("1", print("hi")) 时,print("hi") 会被执行,所以你会请先查看 hi。 之后,将调用 func("1", None),这将执行

print("1") 
None 

你将从中看到的唯一输出是1,因为语句

None 

什么都不做。