为了账号安全,请及时绑定邮箱和手机立即绑定

class不能定义这种列表吗

class Fib(object):

    L = [0,1]

    def __init__(self, num):

        

        for n in range(num - 2):

            L.append(L[n]+L[n+1])

        self.numbers = L


    def __str__(self):

        return str(self.numbers)


    def __len__(self):

        return len(self.numbers)


f = Fib(10)

print (f)

print (len(f))

会报错  global name 'L' is not defined



class Fib(object):

    

    def __init__(self, num):

        L = [0,1]

        for n in range(num - 2):

            L.append(L[n]+L[n+1])

        self.numbers = L


    def __str__(self):

        return str(self.numbers)


    def __len__(self):

        return len(self.numbers)


f = Fib(10)

print (f)

print (len(f))

这样为啥就可以

正在回答

1 回答

作用域吧, L前加上 self. 调用

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

class不能定义这种列表吗

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号