账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python中使用 [列表生成式] 创建类属性失败的问题
    36
    0

    在创建类时,遇到很奇怪的问题,主要原因是提示引用了不存在的变量,以下用具体代码进行说明.

    class Stu_A(object):
        name='student{}'
        other_name=name.format('A')
        def __init__(self):
            pass
    a=Stu_A()
    print(a.other_name)

    以上代码是可以正确运行的,但是如果再增加一个类属性的话(该类属性是以之前属性格式化而生成的列表),就会提示变量没有被定义的的错误,代码如下:

    class Stu_B(object):
        name='student{}'
        other_name=name.format('A')
        name_list = [name.format(i) for i in 'BCDE']
        def __init__(self):
            pass
        
    b=Stu_B()
    print(b.name_list)

    Stu_B 这个类无法被创建

    提示的错误信息: NameError: name 'name' is not defined

    在Stu_A类中,other_name属性同样是用name属性格式化而来的,可以正常运行.

    但在Stu_B中,使用一个列表生成式去格式化name属性而创建一个列表,却不行呢?

    希望有大神能给解答一下,感谢!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 烈性的风 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部