Python 类函数未返回正确的值

Python 类函数未返回正确的值,python,Python,我有这门课: class test(object): def __init__(self, s): self.s = s def getS(self): return self.s 我需要生成这个类的5个实例,只有1个实例将有一个值等于true的变量s tests = [test(True) if i==sys.argv[1] else test(False) for i in range(5)] 然后我试着打印这些值 for i in tes

我有这门课:

class test(object):
    def __init__(self, s):
        self.s = s
    def getS(self):
        return self.s
我需要生成这个类的5个实例,只有1个实例将有一个值等于true的变量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

其中一个值不应该等于True吗?

试试这个,它更简单一些。另外,如果使用Python2.x,则使用
xrange
;如果使用Python3.x,则使用
range

tests = [test(i == int(sys.argv[1])) for i in xrange(5)]

您的代码基本上是正确的-您只是忘记了将命令行参数转换为
int

sys.argv
是字符串列表,它的任何元素都不会是整数。(当然,除非您手动修改它。)如果i==int(sys.argv[1]),请尝试