class里的列表推导式报错

报错

  • 代码
class B:
    b = 'b'
    ls = [b + i for i in '123']
  • 错误提示
Traceback (most recent call last):
  File "C:/Users/hongjiwei/PycharmProjects/small_draft/z.py", line 12, in <module>
    class B:
  File "C:/Users/hongjiwei/PycharmProjects/small_draft/z.py", line 14, in B
    ls = [b + i for i in '123']
  File "C:/Users/hongjiwei/PycharmProjects/small_draft/z.py", line 14, in <listcomp>
    ls = [b + i for i in '123']
NameError: name 'b' is not defined

解决方法

class A:
    a = 'a'
    ls = []
    for i in '123':
        ls.append(a + i)

print(' '.join(A.ls))
print
a1 a2 a3

你可能感兴趣的:(Python开发)