dir関数とは何か
Pythonにはさまざまなビルトイン関数がありますが、その中でも特に有用なものの一つが「dir」関数です。
dir関数は、オブジェクトがどんな名前(属性やメソッド)を持っているかを調べるのに使われます。
いい質問です、サルモリさん!オブジェクトとは、Pythonの世界で操作するものすべてを指します。
文字列、数値、リスト、関数など、これらすべてがオブジェクトです。
dir関数の基本的な使い方
それでは、dir関数の使い方を見ていきましょう。
dir関数は、オブジェクトを引数に取り、そのオブジェクトが持つ名前のリストを返します。
ソースコード例
1 2 |
sample_str = "Hello, Python!" print(dir(sample_str)) |
このコードを実行すると、文字列オブジェクト(この場合は"Hello, Python!")が持つ名前のリストが出力されます。
出力結果
['add', 'class', 'contains', 'delattr', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getnewargs', 'gt', 'hash', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mod', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'rmod', 'rmul', 'setattr', 'sizeof', 'str', 'subclasshook', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind'
確かに一見すると多すぎて混乱しますね。
しかし、実際にはこれらの名前の多くはPythonの内部で使用される特殊なメソッドで、通常はあまり直接使うことはありません。
特に '__' (ダブルアンダースコア)で始まる名前はPythonのシステムで使われています。
主要なメソッドを把握する
では、一般的なプログラムでよく使われるメソッドをいくつか見てみましょう。
文字列オブジェクトの場合、よく使われるメソッドには'capitalize', 'replace', 'split'などがあります。
dir関数を活用する
dir関数の一番の利点は、Pythonが対話型の言語であることを活かして、すぐにどんなメソッドが使えるか確認できることです。
それでは、さらにdir関数の活用例を見てみましょう。
ソースコード例
1 2 3 |
# リストオブジェクトのメソッドを調べる sample_list = [1, 2, 3] print(dir(sample_list)) |
このコードを実行すると、リストオブジェクトが持つ名前のリストが出力されます。
出力結果
['add', 'class', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
まとめ
以上、Pythonのdir関数の使い方とその活用方法について解説しました。
初めて見ると圧倒されるかもしれませんが、実際にはその大部分が内部的なもので、我々が意識する必要はあまりありません。
このdir関数を使って、自分が使いたいメソッドがすぐに見つけられるようになれば、Pythonプログラミングがさらに楽しくなることでしょう。
ポイント
dir関数を使えば、Pythonのあらゆるオブジェクトがどんなメソッドを持っているかすぐに確認できます。
対話的なPythonの特性を活かして、プログラミングをもっと楽しみましょう。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!