kri*_*ral 1 python if-statement
以下代码显示错误:
if ((type(varA) or type(varB) ) == type('t')):
print "string involved"
elif varA<varB:
print "RANDOM"
Run Code Online (Sandbox Code Playgroud)
错误是针对这种情况:
Test Values: varA = 0, varB = adios
Run Code Online (Sandbox Code Playgroud)
输出:
RANDOM
Run Code Online (Sandbox Code Playgroud)
而另一段代码
if ((type(varA) == type('t')) or (type(varB)== type('t'))):
print "string involved"
elif varA<varB:
print "RANDOM"`
Run Code Online (Sandbox Code Playgroud)
对于以下测试值:
Test Values: varA = 6, varB = adios
Run Code Online (Sandbox Code Playgroud)
输出如下:
string involved
Run Code Online (Sandbox Code Playgroud)
这两个"如果"条件有什么区别?我发现它们具有相同的逻辑!
这是错的:
if ((type(varA) or type(varB) ) == type('t')):
Run Code Online (Sandbox Code Playgroud)
它应该是:
if type(varA) == str or type(varB) == str:
Run Code Online (Sandbox Code Playgroud)
等价的:
if isinstance(varA, str) or isinstance(varB, str):
Run Code Online (Sandbox Code Playgroud)
或者更短一些:
if str in ((type(varA), type(varB)):
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
157 次 |
最近记录: |