【Python3】Listに+=1,するとどのように動くか?

参考:https://stackoverflow.com/questions/49043101/how-does-list-1-work-in-python

List型に+=1,すると動くが、これはどのような動きなのかという疑問。

>>> lis = [1]
>>> lis += 1,
>>> lis
[1, 1]

ちなみに、他の書き方を試してみる。

結論:__iadd__()が呼ばれる

結果的にlis += 1, というのは__iadd__()が内部で呼ばれる。
__iadd__()はインプレース算術演算子で、演算子+=のこと。

>>> lis = [1]
>>> lis.extend((1,)) # lis += 1, は左記の意味となる
>>> lis
[1, 1]
>>> lis = [1]
>>> lis.__iadd__((1,))
[1, 1]
無料体験レッスン実施中

こちらも:Pythonでサービスを運用するならこのサーバー


約8,000名の受講生と80社以上の導入実績
プログラミングやWebデザインのオンラインマンツーマンレッスンCodecamp
<Codecampの特徴>
1 現役エンジニアによる指導
2オンラインでのマンツーマン形式の講義
3大手企業にも導入されている実践的なカリキュラム
★★無料体験レッスン実施中です。★★
こちらから

シェアする

  • このエントリーをはてなブックマークに追加

フォローする