def white():
print
print ("First line")
white()
print ("Second line")
這是我的第一個腳本之一。當我按下「F5」鍵時,結果如下:函數不打印預期結果
First line
Second line
錯誤在哪裏?
def white():
print
print ("First line")
white()
print ("Second line")
這是我的第一個腳本之一。當我按下「F5」鍵時,結果如下:函數不打印預期結果
First line
Second line
錯誤在哪裏?
如果你想要你的white()
方法打印空白,你需要第二行的打印語句看起來更像這樣:print(" ")
。沒有參數的電話print
不會做任何事情。
問題是,Python 3中的print不是**語句**,而是**函數**。 –
您正在使用Python 3,其中print
是一個函數。在Python 2中,print
是一個聲明,您的代碼將按照您的預期行事。
這條線:
print
不調用該函數。它只是查找名稱print
。這並不會導致任何東西放置在輸出設備上。
你大概的意思是寫這樣的事情,實際上調用該函數:
def white():
print()
print ("First line")
white()
print ("Second line")
輸出
First line Second line
如果您正在使用python 3,然後選擇 '打印' 是一個函數,而不是一個聲明。爲了打印一行你需要實際調用它。
def white():
print()
在Python 2中white()
打印一個新行,而在Python 3中則沒有。
$ python2 /tmp/white.py
First line
Second line
$ python3 /tmp/white.py
First line
Second line
的print
的Python 2和Python 3之間改變在Python 2 print
的行爲是一個關鍵字,並且簡單地寫入打印print
一個新行。在Python 3中是一個函數,需要括號。如果你只寫print
那麼你有一個聲明,它只是檢索print
函數,但沒有調用它,所以什麼也沒有發生。爲了得到一個空行,你需要呼叫它:
def white():
print()
print ("First line")
white()
print ("Second line")
你'white'方法實際上並沒有做任何事......如果 – Basic
'def'沒有工作,你會得到一個NameError是因爲你沒有定義任何東西。 :P – geoffspear
你真的很好,但是先嚐試谷歌(那裏有一個非常好的教程:http://www.learnpython.org/) – Alvaro