こんにちは。のっくん(@yamagablog)です。
この記事では初心に戻りPythonの基礎を学びたいと思います。
「関数とメソッドの違いって何だっけ?」
「キーワード引数や可変長引数って何だっけ?」
「format()メソッドってどうやって使うんだっけ?」
普段使ってるけど意外と忘れがちなこれらの機能をご紹介します。
目次
関数とメソッドの違い
この二つの言葉はよく混同して使われていますが、違います。
int関数を使って、引数である文字列’100’を、整数の100に変換しています。100は関数の返り値と呼ばれます。
# 関数 num = int('100')
print()も関数です。
一方、メソッドでは「値.メソッド名()」という書き方をします。例では、リストに値を追加したり、削除したりしています。
# メソッド word_list = ['A','B','C'] word_list.append('D') word_list.remove('A') # [B,C,D]と出力される print(word_list)
メソッドの引数は1つだけでなく以下のように複数とることも可能です。
#引数が複数あるメソッド text = 'Hello_Python!' text.replace('Python','Django')
可変長引数、キーワード引数
可変長引数というのは、引数の数が固定ではなく任意の数を指定できる引数です。例えばprint()関数です。
#可変長引数(引数を0個以上を指定できる) print('A','B','C')
キーワード引数は、関数を呼ぶときに「名前=値」の形式で使います。
print()関数では区切り文字を指定するときなどに使われます。「sep=値」で指定します。
#キーワード引数 print('私は', '43才', 'です', sep='===')
実行すると以下のように出力されます。
私は===43才===です
formatメソッドの使い方
formatを使わずに、普通に変数を表示させようとすると以下のようになります。
name = "Kento Okubo" age = 43 print('名前は',name,'です.年齢は',age,'才です.')
実行すると、
名前は Kento Okubo です.年齢は 43 才です.
このように、変数の前後で半角スペースが空いてしまいます。
formatを使うと、テンプレートを使って任意の変数を表示させることができます。
以下のようにprint関数と組み合わせて使ってみます。
#formatメソッド name = "Kento Okubo" age = 43 print('名前は{}です.年齢は{}才です.'.format(name,age))
出力は以下の通り。
名前はKento Okuboです.年齢は43才です.
変数で前後で半角スペースが無くなりましたね。
formatを使うと出力が変わるだけでなく、プログラムが読みやすくなるので積極的に使っていきましょう。
今日のまとめ
・キーワード引数を使うと、関数の出力を変えることができる
・formatを使うと、文字列の意味が分かりやすくなる
参考