Pythonの関数とは?基本の定義と使い方を初心者向けに解説
生徒
「Pythonのプログラムで『関数』ってよく出てきますけど、これは何なんですか?」
先生
「関数とは、特定の処理をひとまとめにして名前を付けたものです。繰り返し使える便利な道具のようなものですよ。」
生徒
「処理をまとめるってどういうことですか?」
先生
「例えば、『足し算をして結果を表示する』という作業を1つの関数にしておくと、必要なときにその関数を呼び出すだけで実行できます。」
生徒
「なるほど!じゃあ実際に定義と使い方を教えてください!」
1. Pythonの関数とは?
Pythonにおける関数は、defキーワードを使って定義します。関数は同じ処理を何度も書く必要をなくし、プログラムを短く読みやすくします。また、引数(ひきすう)を使って、外部から値を受け取り、結果を返すこともできます。
2. 関数の基本的な定義と呼び出し
関数を作るには、defの後に関数名を書き、丸括弧()の中に引数を書きます。処理の内容はインデント(字下げ)して記述します。
def greet():
print("こんにちは!Pythonの世界へようこそ!")
# 関数を呼び出す
greet()
こんにちは!Pythonの世界へようこそ!
この例では、引数も戻り値もない単純な関数です。
3. 引数を持つ関数
引数は関数に情報を渡すための変数です。関数を呼び出すときに値を渡し、その値を使って処理を行います。
def greet_person(name):
print(f"こんにちは、{name}さん!")
greet_person("太郎")
こんにちは、太郎さん!
このように、引数を使うことで柔軟な関数を作ることができます。
4. 戻り値を持つ関数
戻り値(return値)は、関数が計算した結果を呼び出し元に返すために使います。returnキーワードを使います。
def add(a, b):
return a + b
result = add(3, 5)
print("足し算の結果:", result)
足し算の結果: 8
戻り値を利用すると、関数の計算結果を別の処理に使うことができます。
5. 関数を使うメリット
- 同じ処理を何度も書く必要がなくなる(再利用性)
- プログラムの見通しが良くなり、保守しやすくなる
- 引数や戻り値で柔軟な処理が可能になる
例えば、税金計算や割引計算など、同じ計算式を何度も使う場面で関数は大活躍します。
6. 実用例:商品の合計金額を計算する関数
関数を使えば、複数商品の価格計算も簡単にできます。
def calc_total(prices):
return sum(prices)
items = [120, 350, 500]
total_price = calc_total(items)
print("合計金額:", total_price, "円")
合計金額: 970 円
7. 初心者が覚えるべきポイント
def 関数名():で定義する- 引数で外部から値を受け取れる
returnで結果を返せる- 再利用性が高く、コードが短くなる
Pythonの関数を理解すると、プログラムがより整理され、効率的に作れるようになります。
まとめ
Pythonの関数という仕組みは、プログラムの流れをすっきり整理しながら、同じ処理を何度も繰り返し使えるようにするためのとても大切な考え方です。記事で紹介したように、defという合図を使って関数を定義し、必要なときに名前を呼び出すだけで決められた処理が自然に実行されるので、長くなりがちなコードでも見通しが良くなり、作業の効率化にもつながっていきます。とくに、引数や戻り値を組み合わせることで、ひとつの関数をさまざまな場面で柔軟に使い回せる点は大きな魅力です。 関数の基本を学ぶうちに、なぜ多くのプログラムが関数という単位を中心に構成されているのか、その理由が少しずつ見えてきます。複数の作業をひとつにまとめて名前を付けるという仕組みは、説明するときにも便利ですし、あとから読み返したときにも何をしているのかが直感的にわかります。こうした読みやすさや作業のしやすさは、そのままプログラム全体の品質につながり、自然とミスを減らす助けにもなるのです。
また、関数はただまとめるだけでなく、複雑な計算や処理の流れを小さく分けて整理する役割も果たします。たとえば税金計算、割引計算、合計金額の算出など、似たような計算が何度も登場する場合には、ひとつの関数に計算式を書いておけば、同じ仕組みを繰り返し使うことができます。こうした工夫はコードを短く保ち、変更が必要になったときにも修正しやすく、全体を管理しやすい状態を保つことにつながります。 初心者のうちは、「関数を作るほどでもないかな」と感じる場面もありますが、実際に慣れてくると、短い処理でも関数に分けておいたほうが読みやすく、理解しやすいコードになる場面が多くあります。関数は単なる機能ではなく、考え方の整理にも役立つ道具なのだという意識を持っておくと、その使いどころが自然と見えてくるでしょう。
引数を使うことで関数はより汎用的になり、外部から渡した値に応じてさまざまな動きをするようになります。この記事で紹介した挨拶の例や、簡単な計算をする関数はその基本であり、実際の開発ではもっと複雑な情報を受け取って処理を分岐したり、データの加工を行ったりすることもよくあります。さらに戻り値を併用すれば、計算の結果や処理の結果を呼び出し元に返すことができるため、関数の活用範囲は一段と広がります。 returnを使った関数設計に慣れてくると、複数の処理を自然につなげることができるようになり、プログラム全体の流れをひとつひとつ理解しやすくなるでしょう。こうした積み重ねが、より大きなプログラムを組み立てるときの大きな助けとなり、自分の手で自由に動く仕組みを作り上げる楽しさにもつながっていきます。
関数を勉強するときには、小さな例から少しずつ組み立てるのが一番の近道です。まずは引数なしの関数、次に引数を受け取る関数、そして戻り値を返す関数という順番で慣れていくと、関数がどう動くのかが自然と身につきます。そして学んだ内容を自分の生活にある問題に応用して、簡単な計算や処理を関数として書いてみると、一層理解が深まっていきます。 たとえば、買い物リストの合計金額を出す関数や、指定した割合で値引きする関数など、身近なテーマを題材にすると、関数という考え方がより馴染みやすくなるはずです。プログラミングの学習は、知識をそのまま覚えるよりも、自分で使いながら体で理解するほうが長続きします。
関数の基本と応用を振り返るサンプルコード
# あいさつをする基本の関数
def hello():
print("こんにちは!きょうもPythonの練習を続けましょう!")
# 名前を受け取ってあいさつをする関数
def hello_to(name):
print(f"{name}さん、いつも学習をがんばっていますね!")
# 税込み価格を計算して返す関数
def calc_price(price, tax):
return int(price * (1 + tax))
hello()
hello_to("花子")
print(calc_price(1200, 0.1))
このサンプルでは、引数の有無、戻り値の有無という関数の基本がひと通り確認できます。単に動かすだけでなく、関数がどうやって値を受け取り、どう返しているのかを意識しながら読み進めると、関数のしくみがより自然に理解できるようになります。関数を重ねて組み合わせることで、複雑な処理も落ち着いて整理できるようになり、長いコードの流れも見えやすくなります。関数はプログラム全体を支える土台となる考え方なので、じっくりと取り組むことで必ず大きな力になります。
生徒「きょう関数を学んで、同じ処理を繰り返すときにどれだけ便利なのかがよくわかりました!引数や戻り値も、思っていたより使いやすかったです。」
先生「それはよかったね。関数はプログラムを整理するうえで欠かせない仕組みだから、まずは基本の書き方をしっかり身につけておくと、これからどんどん応用が効くようになるよ。」
生徒「関数があるだけで、コードが短くて読みやすくなるっていうのは本当に便利ですね。自分でももっと使いこなせるように練習します!」
先生「ぜひ続けてね。関数を使いこなせるようになると、複雑な処理でも落ち着いて組み立てられるようになるし、理解もしやすくなるよ。実際の開発でも役に立つ知識だから、楽しみながら進めていこう。」
生徒「はい!まずは身の回りの計算や処理を関数として書いてみて、自分なりに工夫してみます。」
先生「良いね。その積み重ねが確かな力になるから、これからも少しずつ挑戦してみよう。」