以下の内容はhttps://pydocument.hatenablog.com/entry/2023/03/19/220743より取得しました。


Python 関数の定義と呼び出しについて解説

Pythonの関数は、処理をまとめて再利用可能にする機能です。この記事では、関数を定義・使用する際に必要な情報を解説します。

関数の定義

関数定義には def キーワードを使用します。

def 関数名(引数1, 引数2, ...):
    # 処理
    return 返り値  # 返り値は省略可能です

return 文で値を返します。return 文がない場合、関数は None を返します。

基本的な関数の例

まずは、引数も返り値もない、最もシンプルな関数です。

def say_hello():
    print("Hello")

say_hello()  # "Hello" が出力されます

次に、引数を受け取る関数を定義します。下記のprint_message 関数は、引数 message で受け取った値を出力します。

def print_message(message):
    print(message)

print_message("Hello, Python!")  # "Hello, Python!" が出力されます

さらに、値を返す関数を定義します。下記のadd 関数は、2つの引数 x, y を受け取り、その和を return で返します。add(3, 5) のように呼び出し、結果を result 変数に格納しています。

def add(x, y):
    return x + y

result = add(3, 5)
print(result)  # 8 が出力されます

デフォルト引数

引数にはデフォルト値を設定できます。

def greet(name="World"):
    return f"Hello, {name}!"

print(greet())        # "Hello, World!" が出力されます
print(greet("Alice")) # "Hello, Alice!" が出力されます

greet 関数は、name 引数にデフォルト値 "World" を設定しています。呼び出し時に name を指定しない場合は "World" が、指定した場合はその値が使用されます。

可変長引数

任意の数の引数を受け取るには、*args (位置引数) や **kwargs (キーワード引数) を使用します。

def print_args(*args, **kwargs):
    print("位置引数:", args)
    print("キーワード引数:", kwargs)

print_args(1, 2, 3, a=4, b=5)
# 出力:
# 位置引数: (1, 2, 3)
# キーワード引数: {'a': 4, 'b': 5}

print_args関数は*argsで複数の位置引数を受け取り、**kwargsで複数のキーワード引数を受け取ります。

pydocument.hatenablog.com

関数の呼び出し

定義した関数は、関数名(引数) の形で呼び出します。

# 上記で定義した add 関数の場合
result = add(10, 20)  # 30 が result に格納される

よくあるエラーと解決策

関数定義や呼び出し時に発生しやすいエラーとその解決策をまとめます。

エラー 原因 解決策
SyntaxError: invalid syntax 文法的な誤り (コロンの欠落、括弧の不一致など) エラーメッセージを確認し、構文を修正
TypeError: unsupported operand type(s) 異なる型同士の演算 演算前に型を確認し、必要に応じて型変換 (int(), str() など) を行う
NameError: name '...' is not defined 未定義の変数や関数の使用 変数/関数が定義されているか、スコープが正しいかを確認
IndentationError: expected an indented block インデントの不足 def, if, for などのブロック内で適切なインデント (通常はスペース4つ) を使用する
AttributeError: ... object has no attribute ... オブジェクトに存在しないメソッドや属性へのアクセス 使用しているオブジェクトの型と、利用可能なメソッド/属性を確認
ValueError: ... 関数に渡された値が不適切 (例: int() に数値以外の文字列を渡した場合) 関数に渡す値の型や範囲が適切か確認

エラー例: TypeError

result = add(5, "10")  # TypeError が発生

数値と文字列の加算は行えないため、TypeError が発生します。

解決策

result = add(5, int("10")) # 文字列 "10" を整数に変換
print(result) # 15

int() を使用して、文字列 "10" を整数に変換することでエラーを解決します。

[PR] Pythonの基礎学習に利用できるUdemyのサイトを紹介します。

click.linksynergy.com

click.linksynergy.com




以上の内容はhttps://pydocument.hatenablog.com/entry/2023/03/19/220743より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14