2016-07-27 81 views
0

我剛剛開始使用Python,並且正在使用Idle。不需要打印的空間

我把:

print("Professor Redwood: Right! So your name is",name,"!") 

而得到這個控制檯:

Professor Redwood: Right! So your name is Chase ! 

通知的空間周圍的名稱"Chase"。我無法弄清楚如何擺脫這些空間。我查了一下這個問題,然後去了this page。我無法理解答案的意思,所以我需要一些幫助。

(請注意,我已經設定的變量)

+0

不是重複的,但看到[這個問題](http://stackoverflow.com/questions/2960772/putting-a-variable-inside-a-string-python)。 – TigerhawkT3

+1

而你嘗試仰視[文檔中的'print'功能(https://docs.python.org/3/library/functions.html#print)? – TigerhawkT3

回答

4

默認情況下,Python的print功能採用了分離打印參數時設置爲一個單一的空間;

print("Professor Redwood: Right! So your name is",name,"!", sep='') 

現在將print:你可以很容易地通過定義sep=''(即空的空間)重寫此

Professor Redwood: Right! So your name isChase! 

對於Python 2.x,你既可以使用from __future__ import print_function,如果這不適合你一些未公開的原因,使用join明確加入空字符串:

print "".join(["Professor Redwood: Right! So your name is",name,"!"]) 

,或者使用.format因爲對方的回答表明:使用字符串連接

print "Professor Redwood: Right! So your name is{0}!".format(name) 
+0

好的答案,值得注意的是,默認情況下,這隻適用於Python≥3.0。 – ospahiu

+0

使用'join'略顯冗長。 – intboolstring

+0

@intboolstring同意,只是添加替代品是全部。 –

3

另一種選擇:

print("Professor Redwood: Right! So your name is"+ name + "!") 

你也做了以下使用字符串格式化

print("Professor Redwood: Right! So your name is {0} !".format(name)) 
1

你試圖做的是連接字符串,這不正是中的逗號聲明呢。相反,可以通過幾種方式實現級聯,其中最常用的是使用+運算符。

print("Professor Redwood: Right! So your name is " + name + "!") 

或者你可以連接成一個變量並打印。如果你連接了很多不同的字符串或者你想多次重用字符串,這是特別有用的。

sentence = "Professor Redwood: Right! So your name is " + name + "!" 
print sentence 

或者您可以使用字符串格式。這有利於通常看起來更乾淨,並允許特殊變量類型(如小數或貨幣)的格式正確。

print "Professor Redwood: Right! So your name is %s!" % name 
print "Professor %s: Right! So your name is %s!" % (prof_name, name) 
print "Professor Redwood: Right! So your name is {0}!".format(name) 

請注意,在Python 2中,print語句不需要圍繞字符串的括號。在Python 3中,它們是必需的。