python打印“你好世界”与“你好世界”

Posted

技术标签:

【中文标题】python打印“你好世界”与“你好世界”【英文标题】:Left out 'print' function in Python, e.g. (print "hello world") vs ("hello world") 【发布时间】:2021-11-19 19:51:29 【问题描述】:
>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>> 

有什么区别?

一个完整的菜鸟问题。

python hello world 示例主要使用

print "hello world"

我可以去掉 print 并使用 "Hello world" 来介绍 python 吗?

【问题讨论】:

这是一个出人意料的好问题。据我了解,最终结果在技术上几乎相同,但通过打印工作更可取,因为处理器可以直接转到str 命令,而不必弄清楚它究竟应该如何处理该行。跨度> 【参考方案1】:

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

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

还要注意输出之间存在差异。 repr 在字符串上添加引号。

【讨论】:

【参考方案2】:

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

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

如果你尝试使用

"hello\nworld"

在程序中,你当然不会得到任何输出

【讨论】:

【参考方案3】:

如果你知道一点 Bash 脚本,你会发现 echo '$HOME' 将打印 $HOME 字母而不是 $HOME 中的实际值,我的意思是 /home/用户/。

然而,对于 Python,print 函数将被解释为双引号和单引号一样的东西。如果没有引号或不必使用双引号的句子,我只使用“”。不过,您仍然可以使用 \" 来做到这一点。

例子-

print 'hello\nworld' -> hello
                        world

print "hello\nworld" -> hello
                        world

'hello\nworld' -> hello\nworld

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

另外,如果我必须使用打印功能来输出原始字符串。我只是用这个-

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

不过,这取决于你的情况。

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

【讨论】:

【参考方案4】:

这是一个很好的问题,其实我刚开始学 Python 的时候也有同样的疑惑。 首先,我们将观察这两个不同程序的不同输出。

节目类型 1

>>> print "hello world"
hello world

使用打印功能的程序,众所周知,用于打印给定的字符串或数字数据。

节目类型 2

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

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

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

【讨论】:

【参考方案5】:

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

print "hello world"你已经执行了一个函数调用,print函数执行并输出你给流文件的字符串,默认是stdouthttps://docs.python.org/3/library/functions.html#print

>>> "hello world" 只是让python解释器执行一行代码,它只是一个字符串。由于您在 python 交互式 shell 上运行。 shell 会在屏幕上显示字符串“hello world”。

【讨论】:

【参考方案6】:

事实上,您使用的是 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”。 shell 和实际文件会产生不同的结果。

【讨论】:

【参考方案7】:

只有在命令行下才能使用打印功能,否则必须使用打印功能

【讨论】:

以上是关于python打印“你好世界”与“你好世界”的主要内容,如果未能解决你的问题,请参考以下文章

[oeasy]教您玩转python - 0002 - 你好世界(hello world!)

python 你好,世界

python 你好,世界!

python Flask演示:你好世界

python PyQt5で你好,世界!

你好世界,只有在主要的回报[重复]