Python 为什么这段代码要打印出来?
我知道打印函数实际上什么也不返回。所以当我打字的时候 打印(z) 我没有任何价值。 我的问题是为什么下面的代码打印hiPython 为什么这段代码要打印出来?,python,python-3.x,Python,Python 3.x,我知道打印函数实际上什么也不返回。所以当我打字的时候 打印(z) 我没有任何价值。 我的问题是为什么下面的代码打印hi z = print('hi') 为什么没有发生这种情况 >>> z = print('hi') hi >>> print(z) None 我知道打印函数实际上什么也不返回 是的,但是,显然,你不明白它首先打印出你给它的东西,然后什么也不返回:-)这就是它的本意 max以完全相同的方式执行指定的操作,即在不打印任何内容后返回最大项。您看
z = print('hi')
为什么没有发生这种情况
>>> z = print('hi')
hi
>>> print(z)
None
我知道打印函数实际上什么也不返回
是的,但是,显然,你不明白它首先打印出你给它的东西,然后什么也不返回:-)这就是它的本意
max
以完全相同的方式执行指定的操作,即在不打印任何内容后返回最大项。您看到的w
的打印与max
正在做的事情无关,因为Python REPL循环(a)将打印出任何不是None
的语句的结果:
>>>x = max('Hello world')
w
如果希望z
获得当前正在打印的内容,您可以使用:
>>> None
>>> 1
1
>>> "hello"
'hello'
>>> False
False
>>> True
True
>>> 0
0
>>> def retNone(): return None
...
>>> def retOne(): return 1
...
>>> retNone()
>>> retOne()
1
或者,对于更复杂的情况,Python为您提供了格式选项,例如:
z = 'hi'
这两种方法都不会打印您正在创建的字符串,除非您明确地想要打印,或者除非您在REPL循环中
(a) 是的,我知道
L
代表什么,我只是按照“RAS综合征”的要求遵循“ATM机”、“HIV病毒”和“LCD显示器”的古老传统:-)
我知道打印函数实际上什么也不返回
是的,但是,显然,你不明白它首先打印出你给它的东西,然后什么也不返回:-)这就是它的本意
max
以完全相同的方式执行指定的操作,即在不打印任何内容后返回最大项。您看到的w
的打印与max
正在做的事情无关,因为Python REPL循环(a)将打印出任何不是None
的语句的结果:
>>>x = max('Hello world')
w
如果希望z
获得当前正在打印的内容,您可以使用:
>>> None
>>> 1
1
>>> "hello"
'hello'
>>> False
False
>>> True
True
>>> 0
0
>>> def retNone(): return None
...
>>> def retOne(): return 1
...
>>> retNone()
>>> retOne()
1
或者,对于更复杂的情况,Python为您提供了格式选项,例如:
z = 'hi'
这两种方法都不会打印您正在创建的字符串,除非您明确地想要打印,或者除非您在REPL循环中
(a) 是的,我知道
L
代表什么,我只是按照“RAS综合征”的要求遵循“ATM机”、“HIV病毒”和“LCD显示器”的古老传统:-)你基本上是在问为什么print
函数打印,为什么max
函数不打印?简单的东西变得复杂,然后他们说编程很难。你基本上是在问为什么print
函数打印,为什么max
函数不打印?简单的东西变得复杂,然后他们说编程很难太难了。