Python で関数を呼び出す方法: 究極ガイド

Python で関数を呼び出す方法: 究極ガイド

関数は、コード ブロックの管理と再利用を可能にするプログラミングにおける重要な概念です。Python で関数を呼び出す方法を知ることは、学ぶべき重要なスキルです。

このチュートリアルでは、関数呼び出しの基本と、理解しやすい効率的なコードを作成するためのヒントを学びます。

関数をマスターすると、より汎用性の高いコードを作成できるだけでなく、プログラミング プロセスが合理化され、開発者としての全体的な効率が向上します。

関数には同じ基本原理があり、Python で関数をマスターすると、Java、R、JavaScript、PHP などの他のプログラミング言語と比較して関数についての理解を広げることができます。

Python で関数を呼び出す方法: 究極ガイド

目次

関数とは何ですか?

Python の関数を使用すると、プログラム全体で呼び出すことができる再利用可能なコードを作成して、コードを簡素化し、読みやすさを向上させることができます。特定のタスクまたは一連のタスクを実行し、プログラム内で複数回呼び出すことができます。 

Python での関数の定義

Python の関数には主に 2 つのカテゴリがあります。

  • ユーザー定義関数:コードの繰り返しを避けるためにプログラマが定義する関数
  • 組み込み関数: 他の人によって定義され、必要なパッケージをインストールした後にコードで使用できる関数

Python チュートリアルのこのセクションでは、ユーザー定義関数に焦点を当てます。次のことを学びます:

  • Python で関数を定義する方法
  • 関数の構文
  • パラメータと引数の使用方法

関数の構文

キーワードdef の後に​​関数名と括弧を続けると、Python で関数を定義できます。関数本体はインデントされており、関数が呼び出されたときに実行されるコードが含まれています。Python の基本関数の例を以下に示します。

def 挨拶(): print("Hello, World!") 挨拶()

キーワードdef は、greet という名前の新しい関数を定義します。コードの 3 行目は関数を呼び出し、関数内のコードを実行します。

Python で関数を呼び出す方法: 究極ガイド

上記のコードの行printも関数です。ただし、Python 2 環境で作業している場合は、ステートメントとして定義されます。その後、Python 3 ではステートメントから関数に変更されました。

パラメータと引数

パラメーターは関数定義内のプレースホルダーであり、引数は関数の呼び出し時に渡される値です。

パラメータを指定するには、パラメータを関数定義の括弧内に含めます。パラメータが複数ある場合はカンマで区切ります。関数を呼び出すときは、引数と呼ばれる入力値を指定します。次の例は、2 つのパラメーターを取る関数の定義を示しています。

def add_numbers(a, b): a+b を返す

関数本体のステートメントreturn は、渡された 2 つの引数の加算を返します。これは、値を入力すると必要な結果が得られる計算機と考えることができます。

関数を定義したら、選択した引数を使用して関数を呼び出すことができます。

add_numbers(3, 5)

Python で関数を呼び出す方法: 究極ガイド

クワーグスの議論

kwargs Python の「キーワード引数」の略です。これにより、呼び出し元が関数を呼び出すときに任意の数のキーワード引数を指定できるようになり、関数の柔軟性が拡張されます。キーワード引数は辞書として関数に渡されます。

関数定義では、**パラメーター名の前に二重アスタリスク構文を使用して、キーワード引数を受け入れることができます。

def my_function(**kwargs): kwargs.items() のキー、値: print(f"{key} = {value}") my_function(a=1, b=2, c=3)

この例では、kwargs 関数に渡されるキーワード引数を含む辞書になります。出力は以下の画像に示されています。

Python で関数を呼び出す方法: 究極ガイド

関数の呼び出し

関数の呼び出しとは、関数の本体内のコードを実行することを意味します。Python には 4 種類の関数呼び出しがあります。

  • 基本的な関数呼び出し
  • 位置引数を使用した呼び出し
  • キーワード引数を使用した呼び出し

基本的な関数呼び出し

基本的な関数呼び出しは、関数に引数を渡さずに関数を呼び出します。関数を定義した後、名前の後にかっこを使用して関数を呼び出すことができます。

関数が引数を取らない場合、括弧は空になります。以下のコードは基本的な関数の例です。

def welcome_message(): print("LuckyTemplates へようこそ!") welcome_message()

上記のコードを実行すると、次の出力が得られます。

Python で関数を呼び出す方法: 究極ガイド

位置引数

位置引数は最も一般的なタイプの引数であり、指定されたのと同じ順序で関数に渡されます。以下は、位置引数を使用した関数呼び出しの例です。

def welcome_message(name): print(f"LuckyTemplates へようこそ、{name}!") welcome_message("John")

上の例では、welcome_message()関数は 1 つの引数を取りますname。引数 を指定してこの関数を呼び出すとJohn、名前の横にメッセージが表示されます。

上記のコードでは、次の出力が得られます。

Python で関数を呼び出す方法: 究極ガイド

キーワード引数

関数に引数を渡すもう 1 つの方法は、キーワード引数を使用することです。キーワード引数を使用すると、パラメータの名前とその値を指定できるため、コードが読みやすくなり、引数を間違った順序で渡す可能性が減ります。 

以下の例では、キーワード引数を使用してwelcome_message関数を呼び出します。

def welcome_message(name, message='LuckyTemplates へようこそ!'): print(message, name) welcome_message(name='Alice', message='おはよう')

この例では、と のwelcome_message()2 つのパラメータを持つ関数を定義しました。message パラメーターにはデフォルトの引数があります。 関数を呼び出すとき、キーワード引数を使用して値を渡します。その結果、出力は次のようになります。namemessageWelcome to LuckyTemplates!JohnWelcome to LuckyTemplates! John.

Python で関数を呼び出す方法: 究極ガイド

戻り値

関数を操作するとき、関数の本体内で演算の結果を返したい場合がよくあります。戻り値により、関数は呼び出し元に結果を送り返すことができます。単一および複数の戻り値の操作方法を理解することで、Python プログラムの機能を強化できます。

単一の戻り値

単一の戻り値関数は、関数内の演算から 1 つの値を返します。

単一の戻り値関数の例を以下に示します。

def get_greeting(name): return "こんにちは、" + 名前 + "!" 挨拶 = get_greeting("アリス") print(挨拶)

上の例では、関数はget_greeting関数の引数として名前を受け取り、コンパイルしてパーソナライズされた挨拶を返します。戻り値は変数greetingに格納され、コンソールに出力されます。

Python で関数を呼び出す方法: 究極ガイド

複数の戻り値

場合によっては、Python の関数から複数の値を返すことが必要になることがあります。これを実現するには、タプルまたはリストを使用して戻り値をラップします。

以下は、Python プログラミング言語での複数の戻り値関数の例です。

def get_name_and_age(): return ("John", 30) 名前、年齢 = get_name_and_age() print(name) print(age)

Python で関数を呼び出す方法: 究極ガイド

この例では、は、 aと an のget_name_and_age2 つの値を持つタプルを返す関数です。name age

Python の関数から値のリストを返すこともできます。以下の関数は、関数からのリスト戻り値を示します。

def Calculate_areas(高さ, 幅): return [高さ * 幅, (高さ * 幅) / 2] 面積、triangle_area = Calculate_areas(10, 5) print(area) print(triangle_area)

Python で関数を呼び出す方法: 究極ガイド

この場合、関数はcalculate_areas2 つの引数heightとを受け取りwidth、長方形の面積と三角形の面積を含むリストを返します。

Python 関数を引数として渡す

Python では、関数を引数として他の関数に渡すことができます。関数が別の関数を引数として受け入れる場合、その関数は高階関数と呼ばれます。

以下のコードは、Python で関数を別の関数に渡す例です。

def square(x): x * x を返す def double(x): x * 2 を返す def apply_func(func, x): func(x) を返す 結果 = apply_func(square, 5)

Python で関数を呼び出す方法: 究極ガイド

入れ子関数

ネストされた関数は、別の関数内で定義された関数であり、内部関数とも呼ばれます。これらは、クロージャやモジュラー コードを作成するときに役立ちます。 

ネストされた関数を作成するには、別の関数内で関数を定義するだけです。

def inner_function(x, y): def inner_function(z): return x + y + z result = inner_function(3) return result # 外部関数を呼び出す print(outer_function(1, 2))

上の例では、inner_function が external_function 内で定義されています。内部関数は外部関数の変数にアクセスできるため、それらの変数に対して操作を実行できます。

Python で関数を呼び出す方法: 究極ガイド

ラムダ関数

Lambda 関数は匿名関数とも呼ばれ、Python で 1 回限り使用する小さな関数を作成する方法です。データ サイエンス プロジェクトでは、効率的なデータ構造とパイプラインを作成するために Lambda 関数を使用することがよくあります。

lambda 関数を作成するには、lambda キーワードの後に​​引数のリスト、コロン、式を続けて使用します。式は、ラムダ関数が呼び出されると返されるものです。以下は Python のラムダ関数の例です。

add = lambda a, b: a + b result = add(3, 4) print(result) # 出力: 7

a 上の例では、2 つの引数 (と)を受け取り、それらの合計を返すラムダ関数を作成しましたb。このラムダ関数を という変数に割り当てましたadd

Python で関数を呼び出す方法: 究極ガイド

Lambda は次のシナリオで役立ちます。

  • map()、filter()、sorted() などの高階関数の引数として。
  • リストや辞書を並べ替える際のキー機能として。

次の例は、ラムダで高階関数 filter() を使用する方法を示しています。

数値 = [1, 2, 3, 4, 5, 6, 7, 8, 9] Even_numbers = list(filter(lambda x: x % 2 == 0,numbers)) print(even_numbers) # 出力: [2, 4、6、8]


この例では、ラムダ関数を使用して、filter() 関数のフィルタリング基準を定義しました。ラムダ関数は数値が偶数かどうかをチェックし、filter() 関数は偶数のみを含む新しいリストを返します。

Python で関数を呼び出す方法: 究極ガイド

関数がさまざまなデータ サイエンス シナリオでどのように役立つかを示す例については、以下のビデオをご覧ください。

再帰

再帰は、関数がそれ自体を呼び出すプログラミングの手法です。これは、複雑な問題をより小さな同一のサブ問題に分割して解決するのに役立つ方法です。

再帰関数を作成するときは、基本ケースと再帰ケースという 2 つのことに留意する必要があります。 

  • 基本ケースは再帰を停止する条件です
  • 再帰的な場合は、関数がそれ自体を呼び出す場合です。再帰的なケースは関数のイテレータとして機能します。

次の例は、Python の再帰関数を示しています。

def Factorial(n): n == 1 の場合: 1 を返します n を返します *階乗(n - 1) 階乗(5)

この例では、基本ケースは when でありn == 1、関数は を返します1。再帰的なケースは、n が 1 に等しくなく、関数が を使用してそれ自体を呼び出す場合に発生しますn - 1

Python で関数を呼び出す方法: 究極ガイド

一般的なエラーとトラブルシューティング

初心者プログラマーの場合、再帰関数やラムダ関数などの関数を実装するときにエラーが発生することがよくあります。次のセクションでは、いくつかの一般的なエラーと、それらを効率的に解決するためのトラブルシューティングのヒントを取り上げます。

1. TypeError: missing a required argument : このエラーは、関数が予期する正しい数の引数を指定しない場合に発生します。

def my_function(fname, lname): print(fname, lname) # 正しい呼び出し my_function("John", "Doe") # エラーが発生します my_function("John")

Python で関数を呼び出す方法: 究極ガイド

このエラーを修正するには、正しい数の引数を関数に渡していることを確認してください。

2. TypeError: サポートされていないオペランド タイプ。このエラーは、互換性のない型の演算子を使用しようとすると発生することがあります。

def add_number(a, b): return a + b # 正しい呼び出し結果 = add_number(5, 3) print(result) # 引数が間違っているためエラーが発生します result = add_number("5", 3) print(result)

Python で関数を呼び出す方法: 究極ガイド

このエラーを修正するには、関数が正しいデータ型を処理していることを確認し、必要に応じて型キャストの使用を検討してください。

3. NameError: name 'function_name' が定義されていません: このエラーは、関数が呼び出される前に定義されていないことを示しています。 

# 正しい順序 defgreet(): print("こんにちは!")greet() # 間違った順序 Goodbye() def Goodbye(): print("Goodbye!")

Python で関数を呼び出す方法: 究極ガイド

このエラーを修正するには、関数が正しく定義されていること、およびその関数を定義した後に呼び出していることを確認してください。

結論

要約して理解を確実にするために、Python での関数呼び出しの重要な側面を次の点にまとめます。

  • 関数を呼び出すには、関数名に続けて括弧を使用します (例: function_name())。
  • 関数が引数を取る場合は、それらを括弧内に含めます (例: function_name(arg1, arg2))。
  • def キーワードを使用して独自の関数を作成し、関数のスコープと必要な引数を定義できます。
  • 値を返す関数を呼び出すとき、後で使用するために結果を変数に割り当てることができます (例: result = function_name(args))。

Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて