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

self.numbers是实例的属性吗?为什么不放在def__init__(self,num)中?

self.numbers是数列中元素的个数,是实例的属性吗?为什么不能放在属性中成为def__init__(self,num,numbers)?

正在回答

2 回答

对,self.numbers这个在__init__中赋值的,所以是这一类的实例的属性,你把numbers放到__init__的参数位子,你在实例化对象是就必须给它这么一个L,否则报错的。

1 回复 有任何疑惑可以回复我~
#1

慕斯卡5411993 提问者

哦,明白了,如果把numbers加在参数中,下面f = Fib(10)就缺一个参数。所以这就是说不是所有的属性都得全部定义在__init__中的
2018-01-15 回复 有任何疑惑可以回复我~
#2

weibo_倔强不屈的颜小贱95_0 回复 慕斯卡5411993 提问者

对,__init__参数位置定义的属性是为了你想实例化一个对象的时候,给这个对象初始化一些值。
2018-01-15 回复 有任何疑惑可以回复我~
#3

1小马哥1 回复 慕斯卡5411993 提问者

应该不是你这样理解的,你再加一个self.aa=aa 就会报错。我也不理解为什么可以这样定义属性
2018-09-28 回复 有任何疑惑可以回复我~

这个属性就是妃不纳妾数列,题目要求__init__只有一个参数 ‘10’,意思是传一个参数'10',生成10位的妃不纳妾数列,你如果加这个参数与题目不符,你还需要直接传一个妃不纳妾数列进去。

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

慕斯卡5411993 提问者

谢谢,我想问的是,self.numbers是对Fib这一类的实例定义的一个属性吗(它是以self.的形式出现)?每一个Fib的实例都根据其参数num对应了一个斐波纳挈数列(L),那为什么当我把nubmers放到属性中def__init__(self,num,numbers)会运行失败呢?
2018-01-15 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

self.numbers是实例的属性吗?为什么不放在def__init__(self,num)中?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信