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]),请尝试。