我在翻譯知道在python中搞亂了,True == 1
評估爲True
,這意味着int(True)
輸出1
。爲什麼int(「True」)和float(「True」)在Python中不起作用?
如果我輸入float("True")
解釋回報:
ValueError: could not convert string to float: 'True'
,如果我輸入int("True")
解釋回報:
ValueError: invalid literal for int() with base 10: 'True'
這是爲什麼?由於True
和False
分別等於1
和0
,它不應該工作嗎?什麼導致int()
中的ValueError?
刪除引號並嘗試 –
「True」是一個字符串,與True不同。給int(True)一個嘗試。 – newacc2240
在'int'或'float'裏面可能會有一些類型檢測條件,如果類型是布爾類型,它可以將'True'轉換爲'1'或'False'轉換爲'0'。如果類型是字符串,則它將該字符串解釋爲實際數字的表示,例如, ''5「'或'」2.6「',如果它不能這樣做,那麼會引發錯誤。對字符串'「True」沒有特殊的處理,對於轉換爲int或浮點數不是''Floccinaucinihilipilification''' –