是。因爲這行其實就是做返回一個元組:
return "1/",number
如果只是打印:
type(reciprocal(3))
你會看到結果將是tuple
。
爲了保持的功能:你會想要做這樣的事情,而不是
print(reciprocal(3))
:
return "1/{}".format(number)
現在,上面實際上將返回你一個字符串,而不是一個元組。以上是使用字符串格式的方法,您可以閱讀有關here。最終你正在做的是創建一個看起來像1/x的字符串,其中x將是數字。表示x的方法是使用大括號,然後使用佔位符來設置您傳遞給format
的任何內容。閱讀文檔中的更多內容以瞭解其工作原理。
,以幫助擴大它,它實際上看起來分離時喜歡是這樣的:
s = "1/"
現在,你希望能夠設置你的論點number
。字符串對象支持多種方法,其中之一是format
。所以你可以簡單地稱之爲:s.format()
。但是,這不會按照你想要的方式工作。所以,根據文檔,爲了使用這個format
方法,你需要在你的字符串中設置你想要在你的字符串中放置哪個參數。這是通過使用佔位符字符{}
來表示的。所以:
s = "1/"
現在將
s = "1/{}".format(number)
我們設置我們{}
爲我們所希望number
是佔位符,我們通過傳遞number
以格式分配什麼將在佔位符。
您可以進一步看你怎麼現在有一個字符串,如果你實際上打印結果的type
:
print(type(reciprocal(3)))
你會看到它現在是一個str
類型。
如Python中的註釋,您可以創建逗號分隔值的元組:
>>> d = 1, 2
>>> type(d)
<class 'tuple'>
這就是爲什麼你的函數返回的元組,因爲事實上你是返回簡單地通過一個分隔的兩個值逗號。
我已經解釋了一堆東西在我的答案是要弄清楚你的,我想。 – idjaw