我有一个函数,该函数在此函数内接收字符串参数和条件,该条件检查此参数是int还是float。尽管此条件的结果为假,但仍执行以下行。
我使用PyCharm IDE和Python 3.8
这里是代码。
number1 = 17
number2 = 17.1
testStr = "Test string"
def define_type(argument01):
if type(argument01) == str:
print(argument01 + " - string")
if type(argument01) == int or float:
print(str(argument01) + " - int or float")
define_type(testStr)
输出:
Test string - string
Test string - int or float
Process finished with exit code 0
if type(argument01) == int or float:
可以重写
if (type(argument01) == int) or float:
所以即使argument01也不是int测试始终为真,从某种意义上来说,您的测试是]
if float:
您想要:
if type(argument01) == int or type(argument01) == float: