能否用一行代码实现3次print()?Python代码简化需求问询
一行代码实现三次空行?别用
3*print(),试试这些方法! 嘿,这个问题我之前也琢磨过!先直接给结论:3 * print() 这种写法完全行不通。
为啥呢?因为print()函数本身的返回值是None,当你用数字去乘None的时候,Python只会得到一个None,根本不会触发三次print的执行——说白了就是做了个无意义的运算,啥输出都不会有。
不过别担心,不用非得逐行写三次print(),有好几种优雅的一行代码实现方式:
最直观的循环写法:
for _ in range(3): print()这和你逐行写三次
print()的效果完全一致,而且代码更紧凑。利用字符串重复+控制
end参数:print('\n'*3, end='')这里
'\n'*3生成三个换行符,再通过end=''取消print()默认自带的最后一个换行,刚好和三次print()的输出效果一模一样。(不推荐但可行)用列表推导式:
[print() for _ in range(3)]这个也能输出三次空行,但会额外生成一个
[None, None, None]的无用列表,所以除非特殊场景,一般不建议用这种。
总之,虽然3*print()走不通,但有不少简洁的一行方案能满足你的需求~
内容的提问来源于stack exchange,提问作者NotaGoodProgrammer
相关产品推荐
相关产品推荐

