#9 Pythonで学ぶ関数の基本
同じ処理をひとまとめにして、名前を付けて呼び出せるようにする仕組みを「関数」と呼びます。この記事では、Pythonにおける関数の基本的な書き方と、便利な引数の渡し方を解説します。
関数を作ってみる
Pythonではdefというキーワードを使って関数を作ります。
def greet(name):
print(f"こんにちは、{name}さん")
greet("太郎")
defの後ろに関数名、かっこの中に受け取る値(引数)を書き、コロンの後で改行してインデントした部分が処理内容になります。
値を返す関数
関数の結果を呼び出し元で使いたい場合は、returnを使います。
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
デフォルト引数という便利な機能
Pythonの関数は、引数にあらかじめ既定値を設定しておけます。
def greet(name="ゲスト"):
print(f"こんにちは、{name}さん")
greet() # こんにちは、ゲストさん
呼び出し時に値を省略すると、既定値が使われます。
キーワード引数で分かりやすく渡す
引数が多い関数を呼び出す際、引数名=値の形で渡すと、どの値が何を表しているか分かりやすくなります。
def create_user(name, age, job):
print(f"{name}({age}歳・{job})")
create_user(name="太郎", age=20, job="学生")
この書き方をすれば、引数の順番を気にせず渡すこともできます。
可変長引数
いくつ引数が渡されるか決まっていない場合は、*を付けるとタプルとしてまとめて受け取れます。
def sum_all(*numbers):
return sum(numbers)
print(sum_all(1, 2, 3, 4)) # 10
Pythonならではの注意点
Pythonの関数は、型を書かなくても動きます。そのため、add("3", "5")のように文字列を渡してしまっても、実行するまでエラーに気づけないことがあります。関数がどんな型を想定しているか、コメントや名前で明確にしておくと親切です。def add(a: int, b: int) -> int:のように「型ヒント」を書く方法もあり、実行時のチェックにはなりませんが、エディタが誤った型の使用を警告してくれるようになります。
まとめ
Pythonの関数はdefで定義し、returnで値を返します。デフォルト引数やキーワード引数、可変長引数(*)を活用すると、呼び出し側の手間を減らせます。
本ページはプロモーションを含みます。
参考書籍(PR)
Pythonをもっと学びたい方には「スッキリわかるPython入門 第2版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿