🖥

pythonでカッコのないメソッド呼び出しは何なのか。「メソッドオブジェクト」らしい。

に公開

カッコのある通常のメソッド呼び出し

arr = [3,2,1]
arr.sort()
arr # [1, 2, 3]

カッコを付けないとメソッドオブジェクトが得られる

arr = [3,2,1]
arr.sort # <built-in method sort of list object at 0x10bdb3e40>
arr # [3, 2, 1]

メソッドは実行されていない。
このオブジェクトはなんやねん。

メソッドオブジェクトを一時変数に覚えさせておいて、あとで実行する

ってことが出来るようだ。

arr = [3,2,1]

do_sort = arr.sort
do_sort()

arr # [1, 2, 3]

参考

image.png

https://docs.python.org/ja/3/tutorial/classes.html#private-variables

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2022-09-22

Discussion