Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这段代码要打印出来?_Python_Python 3.x - Fatal编程技术网

Python 为什么这段代码要打印出来?

Python 为什么这段代码要打印出来?,python,python-3.x,Python,Python 3.x,我知道打印函数实际上什么也不返回。所以当我打字的时候 打印(z) 我没有任何价值。 我的问题是为什么下面的代码打印hi z = print('hi') 为什么没有发生这种情况 >>> z = print('hi') hi >>> print(z) None 我知道打印函数实际上什么也不返回 是的,但是,显然,你不明白它首先打印出你给它的东西,然后什么也不返回:-)这就是它的本意 max以完全相同的方式执行指定的操作,即在不打印任何内容后返回最大项。您看

我知道打印函数实际上什么也不返回。所以当我打字的时候 打印(z) 我没有任何价值。 我的问题是为什么下面的代码打印hi

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
函数不打印?简单的东西变得复杂,然后他们说编程很难太难了。