>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>>
有什么区别?python print“hello world”vs“hello world”
一个完整的noob问题。
蟒蛇Hello World示例大多采用
print "hello world"
我可以带,其print
,只是使用"Hello world"
给了蟒蛇的介绍?
>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>>
有什么区别?python print“hello world”vs“hello world”
一个完整的noob问题。
蟒蛇Hello World示例大多采用
print "hello world"
我可以带,其print
,只是使用"Hello world"
给了蟒蛇的介绍?
区别在于print
调用str
而REPL(读取评估打印循环)的默认操作是在对象上调用repr
,除非它是None
。
需要注意的是,如果你没有在交互式解释工作(你是不是在REPL),那么你就不会看到在版本的任何输出而不print
。
另请注意,输出之间存在差异。 repr
在字符串上添加引号。
如果您将空格替换为换行符,您会发现它们在REPL中甚至没有真正的工作。
>>> print "hello\nworld"
hello
world
>>> "hello\nworld"
'hello\nworld'
如果试图通过本身在程序中使用
"hello\nworld"
,你会得到当然没有
的输出只能使用打印功能弃权,如果你在命令否则你必须使用打印功能
如果你知道一点Bash脚本,你会发现echo'$ HOME'会打印$ HO ME字母而不是$ HOME中的实际值,我的意思是/ home/user /。
然而,作为Python,打印功能将解释为双引号和单引号作为同样的事情。我只是使用“”,如果没有引号或句子不必使用双引号。虽然,你仍然可以做到这一点与\”
示例 -
print 'hello\nworld' -> hello
world
print "hello\nworld" -> hello
world
和
'hello\nworld' -> hello\nworld
如果有时候,我需要原始输出,我不会用打印或尝试其他解决方法。
此外,如果我必须使用打印功能输出原始字符串,我只是使用这个 -
print repr("hello\n\tworld\\") -> 'hello\n\tworld\\'
虽然这取决于你的状况。
随意编辑/建议更好地改善此回复。我可能在这个答案中犯了很多错误和错误信息。
这是一个非常好的问题,事实上,我开始学习Python的时候也有同样的疑问。首先,我们将观察这两个不同程序的不同输出。
程序类型1
>>> print "hello world"
hello world
使用打印功能,因为我们知道是用来打印出给定字符串或数字数据的程序。
程序类型2
>>> "hello world"
'hello world'
>>> 'hello world'
'hello world'
当打印功能不使用,该字符串被直接告知单/双引号内给它进行打印,得到的答案也被引号内打印。我们的程序不需要这种类型的输出,即使可能很容易不使用print命令。
这只能在Python命令行中使用。如果程序保存在单独的文件中并且将被完全执行,则不可能。
这是一个出人意料的好问题。根据我的理解,最终的结果在技术上几乎相同,但通过打印进行处理是可取的,因为处理器可以直接执行“str”命令,而不必知道它应该如何处理该行。 – AaronB
也许我是唯一一个被这个困扰的人 - 但是你能选择“你好词”还是“你好世界”并坚持下去?谢谢。 – Floris