Python IF语句始终返回True

0 python if-statement

这是我脚本的一个非常小的版本.我改变它来测试if语句.布尔值是False,这是正确的!当我更改行的值时,highRisk始终会收到正确的值(True/False).但即使使用正确的highRisk值,结果总是"正常".有谁能解释我为什么?

row = 5

riskHigh = (reasons.iloc[row,1:2] == "high").bool

if riskHigh:
    print "ok"
else:
    print "oops"
Run Code Online (Sandbox Code Playgroud)

结果:

In [60]: row = 5
    ...: riskHigh = (reasons.iloc[row,1:2] == "high").bool
    ...: 
    ...: if riskHigh:
    ...:     print "ok"
    ...: else:
    ...:     print "oops"
    ...: 
    ...: 
ok

In [61]: print riskHigh
<bound method Series.bool of Risk_Rating    False
Name: 5, dtype: bool
Run Code Online (Sandbox Code Playgroud)

Dan*_*iel 5

正如印刷品所说,riskHigh是一种方法.你应该调用这个方法:

riskHigh = (reasons.iloc[row,1:2] == "high").bool()
Run Code Online (Sandbox Code Playgroud)