当前位置: 首页 > 面试题库 >

python 2.7中的print和print()有什么区别

苏鹏鹍
2023-03-14
问题内容

我是Python的新手。

我在python2.7上运行以下代码,使用print或print()时看到不同的结果。这两个功能有什么区别?我读了其他问题,例如,这个问题,但是没有找到答案。

class Rectangle:
    def __init__(self, w, h):
        self.width = w
        self.height = h
    def __str__(self):
        return "(The width is: {0}, and the height is: {1})".format(self.width, self.height)

box = Rectangle(100, 200)
print ("box: ", box)
print "box: ", box

结果是:

('box: ', <__main__.Rectangle instance at 0x0293BDC8>)
box:  (The width is: 100, and the height is: 200)

问题答案:

在Python 2.7(及更高版本)中,print是一个带有许多参数的 语句 。它打印参数之间有一个空格。

所以如果你这样做

print "box:", box

它首先打印字符串“ box:”,然后box打印一个空格,然后打印任何内容(其__str__功能的结果)。

如果你这样做

print ("box:", box)

您给了 一个 参数,一个由两个元素(“ box:”和object box)组成的元组。

元组作为其表示形式进行打印(主要用于调试),因此它调用__repr__其元素的,而不是其元素__str__(应给出用户友好的消息)。

这就是你看到的区别:(The width is: 100, and the height is: 200)是你的箱子的结果__str__,但<__main__.Rectangle instance at 0x0293BDC8>就是它__repr__

在Python 3及更高版本中,print()是与其他函数一样的正常函数(因此print(2, 3)打印"2 3"print 2, 3是语法错误)。如果要在Python 2.7中使用

from __future__ import print_function

在您的源文件的顶部,以使其稍作准备。



 类似资料:
  • 本文向大家介绍Print、echo、print_r有什么区别?相关面试题,主要包含被问及Print、echo、print_r有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 (1) echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。 (

  • 问题内容: 该函数有一个布尔型可选参数,默认为False。 该文档说这是强制冲洗流。 我不明白冲洗的概念。这里是在冲水吗?什么是流冲洗? 问题答案: 通常,输出到文件或控制台已缓冲,至少在输出换行符之前会输出文本。刷新可确保所有缓冲的输出都将到达目的地。 我确实使用了它,例如,当我在获得输入之前输入诸如之类的用户提示时。 可以模拟(在使用Python 2.7的Ubuntu 12.4上): 如果运行

  • 描述 (Description) 此函数将LIST中的表达式的值打印到当前的默认输出文件句柄,或打印到FILEHANDLE指定的值。 如果设置,$ \变量将添加到LIST的末尾。 如果LIST为空,则打印$ _中的值。 print接受值列表,列表的每个元素都将被解释为表达式。 语法 (Syntax) 以下是此函数的简单语法 - print FILEHANDLE LIST print LIST pr

  • 这是Web开发人员的完整参考指南,其中列出了万维网联盟推荐的级联样式表规范中定义的与打印相关的所有CSS属性,级别2。 单击任何属性以查看其描述的示例 - Sr.No. 财产和描述 1 marks marks属性用于在分页媒体上设置裁剪标记和十字标记。 这与@page规则一起使用。 2 orphans 设置孤立段落片段中允许的最小行数。 3 page 将命名页面布局与元素关联。 4 page-br

  • 问题内容: 我在尝试找到答案时遇到了麻烦。我想知道语法和含义。我已经找到了一些信息,但是我不太了解使用该语法的目的。我正在寻找它的功能以及何时/为什么使用它的解释。 一个被使用的例子: 问题答案: 在函数调用的上下文中,将命名参数设置为空字符串。见函数; 是打印时多个值之间使用的分隔符。默认值是空格(),此函数调用可确保格式的浮点值和格式的浮点值之间没有空格。 比较以下三个调用的输出以查看区别 更

  • 我遇到了这样的语法: 这个有两个点的语法是什么:call? 在哪里可以找到有关它的信息? 它只适用于布尔值,还是以其他不同的方式实现?