我仍然感到困惑在Python殼輸入以下命令時:我感到困惑「n」和印刷之間的差異(「N」)
>>> 'n'
'n'
>>> print('n')
n
是什麼'n'
(第一輸出)是什麼意思?另一個n
是什麼意思? Python爲什麼不打印n
作爲'n'
的輸出與print('n')
的輸出相同?
我想print('n')
表示:我(Python)的打印n
作爲一個字符
那麼怎麼樣的第一個?如果>>> 'n'
的含義相同,那爲什麼不打印n
呢?
我仍然感到困惑在Python殼輸入以下命令時:我感到困惑「n」和印刷之間的差異(「N」)
>>> 'n'
'n'
>>> print('n')
n
是什麼'n'
(第一輸出)是什麼意思?另一個n
是什麼意思? Python爲什麼不打印n
作爲'n'
的輸出與print('n')
的輸出相同?
我想print('n')
表示:我(Python)的打印n
作爲一個字符
那麼怎麼樣的第一個?如果>>> 'n'
的含義相同,那爲什麼不打印n
呢?
您正在運行interactive mode中的python解釋器,其中回聲值返回給您。表達式,並且如果他們返回其他東西比None
,解釋確實相當於:
print(repr(result))
這是'n'
你看到打印。
在另一方面print()
,直接寫入到終端輸出,該值轉換爲一個字符串(str()
函數的結果之後,但對於一個字符串值,是沒有區別的,因爲它已經是字符串目的)。
這與在腳本中運行Python代碼不同;那裏沒有任何提示,如果你只在一行寫上'n'
,Python解釋器會忽略該行,因爲它不會改變任何狀態。另一方面,print('n')
仍然會將字符串寫入控制檯或終端。
交互模式是幫助你找出python表達式做,並通過repr()
你可以區分不同類型的對象。嘗試在其打印1
和"1"
,使一個整數,字符串與數字1
:
>>> print(1)
1
>>> print("1")
1
你不能告訴這兩者之間的區別。但他們表示確實不同:
>>> 1
1
>>> "1"
'1'
交涉對於大多數Python標準類型將使用可以在你的Python代碼被重用的符號,原樣。
是的,我現在明白了,所以'n'與print('n'),'n'不同,因爲輸入意味着Python會打印回顯值,它會打印我們'輸入'的內容,並打印('n')打印n作爲一個角色。 – Yagami
它只是回顯你的輸入(一個字符串)。當你print
n,它輸出你的字符串的值。
如果你把它放在一個.py文件中並從命令行執行它,那麼print('n')
會打印一些東西,但只是'n'
在一個文件裏面什麼也不做。
交互式提示有點混淆,因爲如果您編寫的表達式的值不是None,則會打印它的表示形式。所以這就是爲什麼'n'
在這種情況下打印'n'
。但是這是交互式提示所做的,而不是代碼所做的。
你應該先了解python中的所有東西都是OBJECT。這意味着'n'是一個對象,當你調用對象'n'的函數時(OBJECT.__str__()
),當你調用print
時。
class Human:
def __init__(self,name,ge,age):
self.ge = ge
self.age = age
self.name = name
def __str__(self):
print "This is",self.name
print "age = ",self.age
print "gender = ".self.ge
boy = Human("Tom", "M", 12)
print boy
我刪除了對顏色的引用;那些取決於你正在使用的確切的外殼。 IDLE將輸出顏色代碼,標準終端不會。 –