在python中使用print()的意义
使用在python中使用print()的意义,python,Python,使用print()和不使用它有什么区别 例如,假设a=(“第一”、“第二”、“第三”),两者之间的区别是什么 print (a[0] a[2]) 及 ? print()而不使用它? print打印值(我的意思是在下面的示例中,阅读我添加的comets): 更有用的是: 打印: >>> print "a\nb" a # print value b 但是翻译 >>> "a\na" # raw strings
print()
和不使用它有什么区别
例如,假设a=(“第一”、“第二”、“第三”)
,两者之间的区别是什么
print (a[0] a[2])
及
?
print()而不使用它?
print
打印值(我的意思是在下面的示例中,阅读我添加的comets):
更有用的是:
打印:
>>> print "a\nb"
a # print value
b
但是翻译
>>> "a\na" # raw strings
'a\na'
这是原始的:
>>> print repr("a\na")
'a\na'
差异:打印(a[0]a[2])和a[0]a[2]?
这将打印a
元组的两个元素。如下所示
>>> print a[0], a[2]
first third
这类似于打印两个字符串,如下所示:
>>> print "one", "two"
one two
>>> print ("one", "two")
('one', 'two')
[秒]
其中首先创建一个元组(a[0],a[2])
,然后将打印该元组
>>> print (a[0], a[2])
('first', 'third')
首先制作一个包含2个字符串的元组,然后按如下方式打印:
>>> print "one", "two"
one two
>>> print ("one", "two")
('one', 'two')
此外,如果添加,
,则它将生成一个元组:
简单字符串
>>> a[0]
'first'
这是元组:
>>> a[0],
('first',)
同样地
>>> a[0], a[1]
('first', 'second')
如其他答案所示,在交互模式下,差异可以忽略不计 但是,在脚本中,
print a[0]
将实际将输出打印到屏幕上,而仅a[0]
将返回值,但这没有明显的效果
例如,考虑下面的脚本,<代码> PrtTest.Py < /C> >:
myList = ["first", "second", "third"]
print "with print:", myList[0], myList[2]
"without print:", myList[0], myList[2]
如果在终端(python printest.py
)中运行此脚本,则输出为:
带打印:前三名
在Python解释器中键入任何表达式时,如果所述表达式返回值,解释器将输出该值的表示形式,或者repr
repr
s主要用于调试,旨在以对程序员有用的方式显示值。值的re的典型示例pr
是repr('foo')
将如何输出'foo'
当您使用print
时,您没有返回值,因此解释器实际上没有输出任何内容;相反,print
将值的str
写入sys.stdout
(或者另一个流,如果您使用>
语法指定它,例如print>>sys.stderr,x
).str
s用于一般输出,而不仅仅是程序员使用,尽管它们可能与repr
相同。值的str
的一个典型示例是str('foo')
将如何输出foo
当您编写模块或脚本时,解释器所执行的操作与打印的操作之间的差异将发挥更大的作用。print
语句将继续生成输出,而表达式值则不会输出,除非您明确地这样做。您仍然可以输出值的repr
,不过:print repr(value)
您还可以在自己的对象中控制str
和repr
:
>>> class MyThing(object):
... def __init__(self, value):
... self.value = value
... def __str__(self):
... return str(self.value)
... def __repr__(self):
... return '<MyThing value=' + repr(self.value) + '>'
...
>>> mything = MyThing('foo')
>>> mything
<MyThing value='foo'>
>>> print mything
foo
类神话(对象):
…定义初始值(自身,值):
…自我价值=价值
…定义结构(自身):
…返回str(self.value)
…定义报告(自我):
…返回“
...
>>>虚构=虚构(“foo”)
>>>神话
>>>印刷神话
福
您可以这样做
>>> print (a[0], a[2], a[3])
('first', 'second', 'third')
试试看:)
a=(“第一”、“第二”、“第三”),
语法错误纠正它“第三”print(a[0]a[2])
你应该写一个错误print(a[0],a[2])
这个可能的重复项不是重复项,问题是关于使用print,而不是关于在print中使用括号。不,它会给出一个索引器。此外,这并不能回答问题。
>>> class MyThing(object):
... def __init__(self, value):
... self.value = value
... def __str__(self):
... return str(self.value)
... def __repr__(self):
... return '<MyThing value=' + repr(self.value) + '>'
...
>>> mything = MyThing('foo')
>>> mything
<MyThing value='foo'>
>>> print mything
foo
>>> print (a[0], a[2], a[3])
('first', 'second', 'third')