組み込み関数(Python_14)

この連載では、Pythonについて色々な形で再学習に取り組んでいます。前回の記事はこちらになります。

hirocom777.hatenadiary.org

前回は、反復可能オブジェクトと、その他のデータ型についてまとめてみました。

今回は、関数についてです。

関数とは

そもそも関数とは何なんでしょうか。学校の数学では、関数とは何かの入力値から値を返すものです。Pythonで関数とは、入力値に対して何らかのまとまった処理を施し、その結果を返す機能になります。

これまでご紹介した関数の中に、print関数があります。print関数は指定された値を出力するだけで、何も値を返していないように見えます。しかし実際には値を返しています。以下を実行してみましょう。

a = print('print関数が返す値は',end=':')
print(a)

結果は以下のようになります。

print関数が返す値は:None

この様に、print関数は「None」という値(以下Noneオブジェクト)を返しています。Pythonでは値がないことを明示するためにNoneオブジェクトを使用します。つまり、値がないという値を返しているということです。

関数は以下のように使用します。値を渡すには関数名の後にカッコでくくって値を記述します。

変数 = 関数(引数1, 引数2, ・・・)

前述の通り、値を返さない、または返してきた値を使わない場合は、変数への代入をせずに直接記述することもあります。

つまり関数の用途は

  • 値を受け取ってまとまった処理をする
  • 処理結果の値を返す

の2点になります。まとまった処理を関数にしておくと、スクリプトの記述が容易になります。

組み込み関数

Pythonには関数を記述する機能があるのですが、よく使う基本的な関数についてはPython側であらかじめ用意されています。これを「組み込み関数」と呼びます。今まで出てきた組み込み関数を、以下に整理してみます。

  • print
    引数で指定した値を出力する関数です。今までも頻繁に出てきたと思います。以下のように記述します。
  print(*objects, sep=' ', end='\n')

「*objects」で出力する値を指定します。値はカンマ区切りで複数指定できます。「sep」は複数の値を表示する際に、間に挿入される文字データ(省略時は半角スペース)。「end」は表示終了後に挿入される文字データ(省略時は改行)を指定します。

他にも「file」,「flush」といったオプションの指定があるのですが、ここでは割愛します。

  • type
    引数で指定してた値のobjectの型を返します。

  • id
    引数で指定した値のオブジェクトIDを返します。

  • range
    整数のシーケンス(rangeオブジェクト)を生成します。以下のように記述します。

  range([start,] stop [, step])

for文で使用する方法は、すでにご紹介しました。その他に連続した番号のリストを作成する場合に、使ったりします。出力結果を後述するlist関数で変換します。

  • len
    文字列の文字数や、リストなどのオブジェクトの要素数を返します。

  • str,list,tuple,set,dict
    オブジェクトを、それぞれ文字列、リスト、タプル、集合、辞書に変換します。

その他の組み込み関数(基本的なもの)

これまで出てこなかった基本的な組み込み関数も、この機会にご紹介しようと思います。

  • max,min
    maxは引数に指定された複数の値から、最大のものを返します。イテラブルを指定した場合には、オブジェクト内要素の最大値を返します。複数のイテラブルが指定された場合は、要素の左から順に比較して、大きな要素があったほうのイテラブルを返します。minは逆に最小値を返します。

  • sum
    引数に指定された複数の数値の合計を返します。イテラブルの場合には、要素内の数値を合計した結果を返します。

  • bytes
    0~256の値を示す、bytsオブジェクトを返します。

  • int,float
    引数で指定された値を変換します。intは整数の値を示すintオブジェクトを、floatは浮動小数点の値を示すfloatオブジェクトを返します。引数には数値、もしくは数値を表す文字列を指定します。

  • input
    文字データの入力を促します。引数には入力時に表示したい説明文(プロンプト)を指定します。

  • abs
    引数で指定された値の絶対値を返します。

  • round
    引数で指定された値を、指定の桁で丸めた値を返します。以下のように記述します。

  round(number, ndigits=None)

ndigits(桁指定)が省略されたりNoneの場合には、もっとも近い整数を返します。四捨五入ではなく、偶数への丸め処理を行うので注意が必要です。

次回も関数

いかがでしょうか。Pythonには他にもたくさんの組み込み関数がありますので、追々ご紹介していきたいと思います。次回は関数を記述する方法について取り組みます。お楽しみに!!

hirocom777.hatenadiary.org

Python再学習のまとめはこちら!!