Ptyhonの関数の基礎

関数は、プログラミングの中でよく使う処理方法が設定されているもので、これを使いこなすと様々な処理を、素早く効率的に実行することができます。

ここでは、Pythonの関数の入門として、

  • Pythonの関数の基本書式(引数、返り値、戻り値)
  • Pythonの数値計算に使う組み込み関数一覧
  • Pythonの文字列に使う組み込み関数一覧
  • Pythonの入出力に使う関数一覧

を解説していきます。

目次

1. Pythonの関数の基本書式

関数は、max()、str() のように関数名に () をつけて呼び出します。基本的に、全ての関数は、以下の書式になっています。

In [0]:
関数名(引数1, 引数2, 引数3)

1.1. 引数(ひきすう)とは

「引数(ひきすう)」は、単純に、()の中に入れる値のことです。複数の引数がある場合は、引数同士をカンマで区切ります。記述する引数の種類は関数によって違い、中には、引数のない関数もあります。

1.2. 返り値、戻り値とは

関数で処理された結果、返ってくる値を「戻り値」または「返り値」といいます。例えば、max() は、以下のように、 () の中に入っている値のうち、最大値のものを抜き出すことができる関数です。

In [1]:
max(3, 5, 2) #3, 5, 2 の中から最大値を抜き出す関数
Out[1]:
5    #戻り値または返り値は5です

1.3. Pythonの組み込み関数について

これらのようにPythonに標準でインストールされていて、すぐに使える関数を「組み込み関数」といいます。

組み込み関数には、

  • 値を出力する関数:print()
  • 型を調べる関数:type()
  • 型変換で使う関数:str(), int(), float(), bool()
  • 数値のn進数を変換するもの:bin(), oct(), hex()

など様々なものがあります。

それぞれ、「Pythonのprint()関数」、「Pythonの型の確認/変換方法」で解説しているので目を通しておいてください。

次から、Pythonの様々な組み込み関数を見ていきましょう。

2. Pythonの数値計算に使う関数一覧

数値計算に使う組み込み関数には次のようなものがあります。

 関数  説明
 abs(数値)  数値の絶対値を求める
 divmod(数値a, 数値b)  aをbで割った結果を(商, 余り)のタプルで返す
 max(数値a, 数値b, 数値c)  数値の最大値を求める
 min(数値a, 数値b, 数値c)  数値の最小値を求める
 pow(x, y)  xのy乗を求める
 pow(x, y, z)  xのy乗をzで割った余りを求める
 round(数値, 桁数)  数値を指定の桁数に丸める。桁数を省略すると整数に丸める。切り上げ、切り捨ての差が同じ場合は偶数側に求める(2.5は2に、3.5は4になる)

いくつか見ていきましょう。

abs() はabsolute(絶対数)の略で、絶対値を求めたい時に使います。

In [1]:
abs(-3.5)
Out[1]:
3.5

max() や min() はそれぞれ最大値(maximum)、最小値(minimum)を求めます。引数の個数は何個あっても構いません。

In [2]:
min(-3.5, 5, 10, 9, -12.5)
Out[2]:
-12.5

引数に変数を設定したり、関数同士を組み合わせることもできます。例えば、以下のようにすると、変数 x の値を5以上10以下におさめることができます。

In [3]:
x = 13
#min によってxの上限が10になり max によって下限が5になります。
x = max(5, min(10, x))
x
Out[3]:
# 従って、xを出力すると10が求められます。
10

round()関数では、桁数を指定の位置まで丸めることができます。まず、桁数を指定しなければ、小数点以下が丸められて整数になります。

In [4]:
round(3.65)
Out[4]:
4

以下では、桁数を指定して小数点以下1位に丸めています。

In [4]:
round(3.65, 1)
Out[4]:
3.6

通常の四捨五入では 3.7 になりますが、Pythonでは、切り上げと切り下げの差が同じ場合(この場合はどちらも0.05の切り上げ及び切り下げ)、偶数側に丸められるので、3.6 と出力されます。

3. Pythonの文字列に使う関数一覧

文字列に使う関数には以下のようなものがあります。

 関数  説明
 chr(整数)  整数が示す Unicode を文字列で返す
 ord(1文字)  文字に対応する Unicode を調べる
  len(文字列)  文字列の文字数を求める
 str(値)  値を文字列に変換する

それぞれ見ていきましょう。

chr() と ord() は逆の変換を行います。以下をご覧ください。

まず、文字を Unicode に変換して、次にその Unicode を文字列に戻しています。

In [1]:
ord("a")
Out[1]:
97 # a の Unicode は 97 です。
In [2]:
chr(97)
Out[2]:
'a' # Unicode 97 は a です。
In [3]:
ord("海")
Out[3]:
28023 # 海の Unicode は 28023 です。
In [4]:
chr(28023)
Out[4]:
'海' # Unicode 28023 は海です。

len() を使うと文字数を数えることができます。半角英数字だけでなく「かな」や漢字などの2バイト文字も1文字として数えます。

In [5]:
len("Python")
Out[5]:
6
In [6]:
len("パイソン")
Out[6]:
4

ちなみに、len() は、リストや辞書などの要素の数を数えることもできます。それぞれ、「Pythonのリスト」「Pythonの辞書」をご覧ください。

str() は値を文字列に変換します。Pythonでは、通常、数値と文字列を連結するとタイプエラーが発生します。それを防ぐために、まず数値を文字列に変換してから、別の文字列と連結します。

これについては、「Pythonの演算子」でも触れていますのでご確認ください。

In [7]:
kosuu = len("Python")
answer = "Pythonの文字数は" + str(kosuu) + "個です。"
answer
Out[7]:
'Pythonの文字数は6個です。'

4. Pythonの入出力に使う関数

次に、入出力に関する関数も見てみましょう。

 関数  説明
 input(文字列)  キーボードからの入力を受け取る。文字列はプロンプトとして表示される
 open()  テキストファイルを開く
 print(値, sep=文字列, end=文字列)  値を出力する

これも見ていきましょう。

input() を使うと、挿入する値が、キーボードからの入力待ちになります。この時、入力した値を受け取ります。Pythonでは以下のようにプロンプトが表示され、キーボードからの入力待ち状態になります。

In [1]:
value = input("")
Out[1]:
# ここに好きな文字を入力できるプロンプトが開きます

この時、キーボードから文を入力すると、それが変数のvalueに組み込まれます。

print()関数については、「Pythonのprint()関数」で詳しく解説しています。

open()については、おいおい解説を書き加えたいと思います。

5. まとめ

Pythonの関数については、他にも「関数の定義」や「関数の呼び出し」「複数の戻り値を返す方法」など、知っておくことはありますが、初級編としては、ここに書いていることで十分でしょう。

Python初心者におすすめのプログラミングスクール

「未経験からでもPythonを学べるプログラミングスクールを探しているけど、色々ありすぎてわからない」なら、次の3つのプログラミングスクールから選んでおけば間違いはありません。

Aidemy Premium:全くの初心者ができるだけ効率よく短期間で実務的に活躍できるAI人材になることを目的とした講座。キャリアカウンセリングや転職エージェントの紹介などの転職支援も充実しており、受講者の転職成功率が高い。

AIジョブカレPythonの基本をおさえた人が、実際に機械学習やディープラーニングを活用できるようになるための講座。転職補償型があるなどキャリア支援の内容が非常に手厚く、講師の質も最高クラス。コスパ最高。Python初心者用の対策講座もある。

データミックスプログラミング経験者のビジネスマンが、更なるキャリアアップのためにデータの処理方法を学んでデータサイエンティストになるための講座。転職だけでなく起業やフリーランスとして独立する人も多い。Python初心者用の対策講座もある。

特に、あなたが以下のような目標を持っているなら、この中から選んでおけば間違いはないでしょう。

・未経験からPythonエンジニアとして就職・転職したい
・AIエンジニアやデータサイエンティストとしてキャリアアップしたい
・起業やフリーランスを視野に入れたい

理由は「Python初心者のためのおすすめプログラミングスクール3選」で解説しています。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる