谁能帮忙解答 Python 很神奇的问题?

2018-05-15 15:49:11 +08:00
 20032009

def run(a,b,c): if a == b : c a = 1 b = 1 c = print('1') run(a,b,c)

1、为什么没有报错? 2、执行过程中到底执行了哪个 c ?

3395 次点击
所在节点    Python
23 条回复
whoami9894
2018-05-15 16:32:21 +08:00
c 被赋值为 print 函数的返回值,为 none。
如果 c 被赋值为函数的话后面得有()调用函数操作符
MartinWu
2018-05-15 16:36:26 +08:00
c 是 print("1")的返回值,也就是 None。并不是这个语句本身。
0312birdzhang
2018-05-16 08:02:42 +08:00
貌似有个标准错误输出流 了解一下?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454993

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX