>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>>
有什么区别?
完整的菜鸟问题。
python hello world示例主要使用
print "hello world"
我可以删除print
并使用"Hello world"
来进行python介绍吗?
答案 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)
如果您在命令行中,则只能禁止使用打印功能,否则必须使用打印功能