簡體   English   中英

在python中使用print()的重要性

[英]significance of using print() in python

使用print()和不使用它有什么區別。

例如,假設a = ("first", "second", "third') ,它們之間有什么區別

print (a[0] a[2])

a[0] a[2]

>>> s = 'foo'
>>> s
'foo'
>>> print s
foo

當您在Python解釋器中鍵入任何表達式時,如果所述表達式返回一個值,則解釋器將輸出該值的表示或repr repr主要用於調試,旨在以對程序員有用的方式顯示值。 值的repr典型示例是repr('foo')將如何輸出'foo'

當你使用print ,你沒有返回一個值,所以解釋器實際上並沒有輸出任何東西; 相反, print正在將值的str寫入sys.stdout (或替代流,如果使用>>語法指定它,例如print >>sys.stderr, x )。 str s用於一般輸出,不僅僅是程序員使用,盡管它們可能與repr相同。 str典型示例是str('foo')如何輸出foo

當您編寫模塊或腳本時,解釋器的作用與print之間的區別更大。 print語句將繼續生成輸出,而表達式值不會輸出,除非您明確這樣做。 您仍然可以輸出值的repr ,但是: print repr(value)

您還可以在自己的對象中控制strrepr

>>> 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[0]返回該值,但是沒有明顯的效果。

例如,請考慮以下腳本printtest.py

myList = ["first", "second", "third"]

print "with print:", myList[0], myList[2]

"without print:", myList[0], myList[2]

如果在終端( python printtest.py )中運行此腳本,則輸出為:

印刷品:第三名

>>> a=("first","second")
>>> print a[0],a[1]
first second
>>> a[0],a[1]
('first', 'second')

print()而不使用它?

print打印值( 我的意思是在下面的例子中,我添加的讀取彗星 ):

>>> print a[1]
second           # prints without '
>>> a[1]
'second'         # prints with ' 

更有用:

打印:

>>> print "a\nb"  
a                # print value   
b

但翻譯

>>> "a\na"       # raw strings 
'a\na'

這是原始的:

>>> print repr("a\na")
'a\na'

差異: 打印(a [0] a [2])和[0] a [2]?

這種打印的兩個元素a元組。 如下

>>> print a[0], a[2]
first third  

這類似於打印兩個字符串,如下所示:

>>> print "one", "two"
one two

[第二]

這首先創建一個元組(a[0], a[2])然后將被打印

>>> print (a[0], a[2])
('first', 'third')

首先制作2個字符串的元組然后打印如下:

>>> print ("one", "two")
('one', 'two')  

另外,如果你添加,那么它會產生一個元組:

簡單的字串

>>> a[0]
'first'

這是元組:

>>> a[0],
('first',) 

同樣,

>>> a[0], a[1]
('first', 'second')  

你可以這樣做

>>> print (a[0], a[2], a[3])
('first', 'second', 'third')

試試吧 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM