Pythonインタープリターで次のコマンドを実行します。
some_list = []
methodList = [method for method in dir(some_list) if (callable(getattr(some_list, method)) and (not method.find('_')))]
私が欲しいのは、アンダースコアで名前が付けられているメソッドを除いて、特定のオブジェクトのメソッドのすべての名前のリストを取得することです。__sizeof__
これが、上記のコードにifステートメントがネストされている理由です。
if (callable(getattr(some_list, method)) and (not method.find('_')))
ただし、内容は次のmethodList
とおりです。
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__']
Indeed, the precise opposite of what I'm expecting.
Shouldn't not method.find('_')
only return true when the method
string fails to contain the string '_'
?