所以我有一个对象,它有一个方法,应该遍历类中定义的列表。你知道吗
当我使用一个简单的if语句时,我得到了预期的结果,但是当我添加一个else语句时,我得到了奇怪的结果。你知道吗
Class SomeClass(object):
def __init__(self):
self.config = ['something', 'this exists', 'some more stuff']
def check_this(self):
for line in self.config:
if "this exists" in line:
return True
当我到达列表中的第二个元素时,上面的代码返回True。你知道吗
如果我把代码改成下面的。方法返回False。你知道吗
Class SomeClass(object):
def __init__(self):
self.config = ['something', 'this exists', 'some more stuff']
def check_this(self):
for line in self.config:
if "this exists" in line:
return True
else:
return False
我一定错过了什么。 MAC OS X上的Python 2.7.6
在后一种情况下,您从未命中第2个元素,因为第1个元素返回
False
。一个函数只能return
一次。你知道吗在第一个方法中,它返回的唯一时间是进入
if
块并返回True
。如果它从未进入if
块,它将返回None
。你知道吗在第二个方法中,在第一次迭代中,
'this exists'
不在line
中,因此它返回False
并停止迭代。你知道吗如果我理解这个功能的意图,它可能只是
我想这就是你想要的:
相关问题 更多 >
编程相关推荐