我在翻译知道在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''' –