У меня есть этот класс:функция класса не возвращает правильное значение
class test(object):
def __init__(self, s):
self.s = s
def getS(self):
return self.s
Мне нужно генерировать 5 экземпляров этого класса, и только один экземпляр будет иметь переменную s со значением, равным верно.
tests = [test(True) if i==sys.argv[1] else test(False) for i in range(5)]
Затем я попытался напечатать значения.
for i in tests:
print i.getS()
Выход:
False
False
False
False
False
В случае, если не один из стоимости равна Правда?
'sys.argv' - это список строк, ни один из его элементов никогда не будет целым числом. (Если вы его вручную не модифицируете). Попробуйте 'if i == int (sys.argv [1])'. – millimoose