【发布时间】:2015-06-26 12:34:00
【问题描述】:
所以我有一个对象,它的方法应该遍历类中定义的列表。
当我使用一个简单的 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
【问题讨论】:
-
您总是在循环的第一次迭代中返回。您返回
True或False,基于第一行solely。考虑一下,然后尝试考虑何时应该执行return False。
标签: python oop object if-statement for-loop