+=和extend的思考
来源:5-3 list中extend方法区别

xmzls
2018-04-11
老师你好,有个问题,就是说+=其内部实现的是__iadd__这个魔法方法,而这个方法实际调用的是extend方法,那假设我用tuple(这里不用list了),为什么用+=可以成功添加,而直接使用extend就会报错呢提示没有tuple没有这个extend方法,是python解释器会把tuple转成list吗?
a=(1,2)
b=(3,4)
# a+=b
a.extend(b)
写回答
1回答
-
bobby
2018-04-12
list和set中都实现了___iadd__方法,对list来说是在___iadd__中调用了extend,这只能说明list中是有extend方法的, 但是这不能证明set的___iadd__方法中也是调用了extend方法,也就证明不了set有extend方法
022018-04-16
相似问题