改成这样:
class T():
def __init__(self):
self.values = list(range(1,11))
self.suits = 'a b c'.split()
self.deck = ['{} is {}'.format(s,v) for v in self.suits for s in self.values]
def main():
t = T()
print(t.deck)
if __name__ == '__main__':
main()
借宝地请教各位:
class T():
values = list(range(1,11))
suits = 'a b c'.split()
deck = ['{} is {}'.format(s,v) for v in suits for s in values]
def __init__(self):
pass
def main():
t = T()
print(t.deck)
if __name__ == '__main__':
main()
运行报错:
Traceback (most recent call last):
File "testError.py", line 1, in <module>
class T():
File "testError.py", line 4, in T
deck = ['{} is {}'.format(s,v) for v in suits for s in values]
File "testError.py", line 4, in <listcomp>
deck = ['{} is {}'.format(s,v) for v in suits for s in values]
NameError: name 'values' is not defined
请问报错的原因是啥? deck = ['{} is {}'.format(s,v) for v in suits for s in values]一定要写在方法内吗?