python print“hello world”vs“hello world”

时间:2013-12-11 04:35:35

标签: python

>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>> 

有什么区别?

完整的菜鸟问题。

python hello world示例主要使用

print "hello world"

我可以删除print并使用"Hello world"来进行python介绍吗?

7 个答案:

答案 0 :(得分:10)

区别在于print调用str而REPL的默认操作(读取评估打印循环)是在对象上调用repr,除非它是None

请注意,如果您没有使用交互式解释器(您不在REPL中),那么在没有print的版本中您将看不到任何输出。

另请注意,输出之间存在差异。 repr在字符串上添加了引号。

答案 1 :(得分:2)

如果你用空格替换换行符,你会发现它们甚至在REPL中的工作方式都不一样。

>>> print "hello\nworld"
hello
world
>>> "hello\nworld"
'hello\nworld'

如果您尝试使用

"hello\nworld"

单独在一个程序中,你将得不到课程的输出

答案 2 :(得分:0)

如果您知道一些Bash脚本,那么您将通过 echo' $ HOME' 找到$ HOME字母,而不是$ HOME中的实际值,我的意思是/ home / user /.

然而,作为Python,print函数将被解释为双引号和单引号同样的东西。我只是用#34;"如果没有引号或句子不必使用双引号。虽然,你仍然可以用\"。

来做到这一点

示例 -

print 'hello\nworld' -> hello
                        world

print "hello\nworld" -> hello
                        world

'hello\nworld' -> hello\nworld

如果有时候,我需要原始输出,我不会使用打印或尝试其他解决方法。

另外,如果我必须使用print函数输出原始字符串。我只是用这个 -

print repr("hello\n\tworld\\") -> 'hello\n\tworld\\'

这取决于你的情况。

随时编辑/建议更好地改进此回复。在这个答案中我可能会犯很多错误和错误信息。

答案 3 :(得分:0)

这是一个非常好的问题,事实上,当我开始学习Python时,我遇到了同样的疑问。 首先,我们将观察这两个不同程序的不同输出。

计划类型1

>>> print "hello world"
hello world

使用print函数的程序,如我们所知,用于打印给定的字符串或数字数据。

计划类型2

>>> "hello world"
'hello world'
>>> 'hello world'
'hello world'

如果不使用打印功能,并且通过在单引号/双引号内给出字符串直接告诉打印字符串,则答案也会在引号内打印。我们的程序不需要这种类型的输出,即使可能很容易不使用print命令。

这只能在Python命令行中使用。如果程序保存在单独的文件中并且将完全执行,则不可能。

答案 4 :(得分:0)

您正在python交互式shell上运行。

print "hello world"您已经执行了print函数执行的函数调用,并将您提供的字符串输出到流文件中,默认为stdout https://docs.python.org/3/library/functions.html#print

>>> "hello world"只是让python解释器执行仅是字符串的代码行。由于您在python交互式shell上运行。外壳程序将在屏幕上显示字符串“ hello world”。

答案 5 :(得分:0)

事实是,您正在使用python shell进行任何操作。 为了证明这一点,如果您实际上使用的是python文件,那么它什么都不做

 Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> 
==== RESTART: C:/Users/s-wan/AppData/Local/Programs/Python/Python37/testhelloworld.py ===
>>> 

但是如果您实际在shell中使用它,那么它将用单引号将内容打印出来:

>>> "Hello World"
'Hello World'

使用

print('hello world')

将打印不带引号的“ hello world”。外壳和实际文件会产生不同的结果。

答案 6 :(得分:-1)

如果您在命令行中,则只能禁止使用打印功能,否则必须使用打印功能