Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用print()的意义_Python - Fatal编程技术网

在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')