Python并不是None

Win*_*ags 1 python

我在使用这段代码时遇到了一些麻烦:

if not fundbenchmark.endswith(("Index", "INDEX")) and fundbenchmark is not None:
    fundbenchmark = "%s%s" % (fundbenchmark, " Index")
Run Code Online (Sandbox Code Playgroud)

追溯:

AttributeError: 'NoneType' object has no attribute 'endswith'
Run Code Online (Sandbox Code Playgroud)

当出现显然这个错误fundbenchmarkNone.暗示存在问题and fundbenchmark is not None:

我在这个假设中是正确的还是可以在其他地方找到解释?

jua*_*nza 9

你的布尔表达式if是从左到右评估的短路.您的代码中出现的问题是您在使用该对象应用了该is not None条件.您需要反转条件的顺序.

if fundbenchmark is not None and not fundbenchmark.endswith(("Index", "INDEX")):
Run Code Online (Sandbox Code Playgroud)