z = print('hi')
Run Code Online (Sandbox Code Playgroud)
我理解打印函数几乎没有返回.因此,当我输入print(z)时,我得到None值.我的问题是为什么下面的代码打印嗨
>>> z = print('hi')
hi
>>> print(z)
None
Run Code Online (Sandbox Code Playgroud)
为什么这不会发生
>>>x = max('Hello world')
w
Run Code Online (Sandbox Code Playgroud)
我理解打印函数几乎没有返回.
是的,但是,很显然,你不明白,它首先打印出你给它,并再没有返回:-)这就是它的意思做.
的max,在完全相同的方式,做什么它被指定做的,这是后返回的最大项目没有打印任何东西.的印刷w,你看到无关什么max是干什么的,这是因为Python的REPL循环(一)将打印出没有任何语句的结果None:
>>> None
>>> 1
1
>>> "hello"
'hello'
>>> False
False
>>> True
True
>>> 0
0
>>> def retNone(): return None
...
>>> def retOne(): return 1
...
>>> retNone()
>>> retOne()
1
Run Code Online (Sandbox Code Playgroud)
如果您想z获得当前正在打印的东西,您可以使用:
z = 'hi'
Run Code Online (Sandbox Code Playgroud)
或者,对于更复杂的情况,Python有格式化选项,例如:
showPi = "Pi is roughly {}".format(355/113)
Run Code Online (Sandbox Code Playgroud)
在您明确要求之前,或者除非您处于REPL循环中,这些都不会打印您正在创建的字符串.
(a)是的,我知道它L代表什么,我只是遵循"ATM机","HIV病毒"和"LCD显示器"的历史悠久的传统,根据"RAS综合症"的要求:-)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |