| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2025-2-24 |
| 在线时间 | 552 小时 |
- 梦石
- 0
- 星屑
- 122
- 在线时间
- 552 小时
- 注册时间
- 2012-8-18
- 回帖
- 1392
|
发表于 2013-8-25 15:17:49
|
显示全部楼层
[]方法的定义有三种调用方法
1.self[参数1,参数2......]
2.self.[](参数1,参数2......)
3.用send方法调用【这里不讨论
同理 []=方法也有三种
1.self[参数1,参数2......]=参数n
我们讨论一下这种情况的其他写法(定义是def []=(*args),可以提供任意的参数)
①.self[1,2]= #刚才在RGE中测试,方法没有调用成功
②.self[]= #刚才在RGE中测试,方法没有调用成功,并不是不带参数的调用
③.self[1,2]=3,4 #调用的参数是 1,2,[3,4] 而不是1,2,3,4
可见,调用[]=必须在等号后面带一个参数,而且只能带一个
2.self.[]=(参数1,参数2......) 这个是标准的调用方式,绝不会出问题
3.使用send方法【不讨论
当然,这是调用方法的时候
如果是 a = []这种形式,编译器不会认为是 a= self.[]()这种形式,而是直接返回空数组
……感觉说的乱糟糟的,LZ尝试着理解吧= = |
评分
-
查看全部评分
|