我正在做Python的初學者教程,這裏是我從一個論壇讀到的東西,並在我自己的編輯器中嘗試過。的代碼如下單斜槓沒有做float division
#!/usr/local/bin/python3
def main():
num = 42/9
print(type(num), num)
if __name__ == "__main__" : main()
然而,上述方案的,而不是給我的4.666666666666667
一個默認的輸出是給我的只是4
的整數輸出。我讀過在Python 3中使用默認單斜槓將得到我浮點輸出,但我不知道這裏有什麼問題(爲什麼我得到一個int輸出?)。
其他python3只有功能,如'sample {}'.format(n)
字符串格式化工作正常,所以我不知道這是否與我的Python3安裝有關。我在Mac上,所以我也有Mac的默認2.7 Python版本。
在'Python 2.x'中,表達式'42/9'是整數除法,並且會產生一個'int',它將截斷除法的小數部分。它只會在'Python 3.x'中將這些轉換爲'float'。 – CoryKramer
嘗試'import sys',然後'print(sys.version)'來查看正在運行的內容。 –
如果您使用雙斜槓如「42 // 9」,會發生什麼情況 – abhi