Python における Self とは: 実際の例
Python における Self とは: 実際の例
関数は、コード ブロックの管理と再利用を可能にするプログラミングにおける重要な概念です。Python で関数を呼び出す方法を知ることは、学ぶべき重要なスキルです。
このチュートリアルでは、関数呼び出しの基本と、理解しやすい効率的なコードを作成するためのヒントを学びます。
関数をマスターすると、より汎用性の高いコードを作成できるだけでなく、プログラミング プロセスが合理化され、開発者としての全体的な効率が向上します。
関数には同じ基本原理があり、Python で関数をマスターすると、Java、R、JavaScript、PHP などの他のプログラミング言語と比較して関数についての理解を広げることができます。
目次
関数とは何ですか?
Python の関数を使用すると、プログラム全体で呼び出すことができる再利用可能なコードを作成して、コードを簡素化し、読みやすさを向上させることができます。特定のタスクまたは一連のタスクを実行し、プログラム内で複数回呼び出すことができます。
Python での関数の定義
Python の関数には主に 2 つのカテゴリがあります。
Python チュートリアルのこのセクションでは、ユーザー定義関数に焦点を当てます。次のことを学びます:
関数の構文
キーワードdef
の後に関数名と括弧を続けると、Python で関数を定義できます。関数本体はインデントされており、関数が呼び出されたときに実行されるコードが含まれています。Python の基本関数の例を以下に示します。
def 挨拶(): print("Hello, World!") 挨拶()
キーワードdef
は、greet という名前の新しい関数を定義します。コードの 3 行目は関数を呼び出し、関数内のコードを実行します。
上記のコードの行print
も関数です。ただし、Python 2 環境で作業している場合は、ステートメントとして定義されます。その後、Python 3 ではステートメントから関数に変更されました。
パラメータと引数
パラメーターは関数定義内のプレースホルダーであり、引数は関数の呼び出し時に渡される値です。
パラメータを指定するには、パラメータを関数定義の括弧内に含めます。パラメータが複数ある場合はカンマで区切ります。関数を呼び出すときは、引数と呼ばれる入力値を指定します。次の例は、2 つのパラメーターを取る関数の定義を示しています。
def add_numbers(a, b): a+b を返す
関数本体のステートメントreturn
は、渡された 2 つの引数の加算を返します。これは、値を入力すると必要な結果が得られる計算機と考えることができます。
関数を定義したら、選択した引数を使用して関数を呼び出すことができます。
add_numbers(3, 5)
クワーグスの議論
kwargs
Python の「キーワード引数」の略です。これにより、呼び出し元が関数を呼び出すときに任意の数のキーワード引数を指定できるようになり、関数の柔軟性が拡張されます。キーワード引数は辞書として関数に渡されます。
関数定義では、**
パラメーター名の前に二重アスタリスク構文を使用して、キーワード引数を受け入れることができます。
def my_function(**kwargs): kwargs.items() のキー、値: print(f"{key} = {value}") my_function(a=1, b=2, c=3)
この例では、kwargs
関数に渡されるキーワード引数を含む辞書になります。出力は以下の画像に示されています。
関数の呼び出し
関数の呼び出しとは、関数の本体内のコードを実行することを意味します。Python には 4 種類の関数呼び出しがあります。
基本的な関数呼び出し
基本的な関数呼び出しは、関数に引数を渡さずに関数を呼び出します。関数を定義した後、名前の後にかっこを使用して関数を呼び出すことができます。
関数が引数を取らない場合、括弧は空になります。以下のコードは基本的な関数の例です。
def welcome_message(): print("LuckyTemplates へようこそ!") welcome_message()
上記のコードを実行すると、次の出力が得られます。
位置引数
位置引数は最も一般的なタイプの引数であり、指定されたのと同じ順序で関数に渡されます。以下は、位置引数を使用した関数呼び出しの例です。
def welcome_message(name): print(f"LuckyTemplates へようこそ、{name}!") welcome_message("John")
上の例では、welcome_message()
関数は 1 つの引数を取りますname
。引数 を指定してこの関数を呼び出すとJohn
、名前の横にメッセージが表示されます。
上記のコードでは、次の出力が得られます。
キーワード引数
関数に引数を渡すもう 1 つの方法は、キーワード引数を使用することです。キーワード引数を使用すると、パラメータの名前とその値を指定できるため、コードが読みやすくなり、引数を間違った順序で渡す可能性が減ります。
以下の例では、キーワード引数を使用してwelcome_message
関数を呼び出します。
def welcome_message(name, message='LuckyTemplates へようこそ!'): print(message, name) welcome_message(name='Alice', message='おはよう')
この例では、と のwelcome_message()
2 つのパラメータを持つ関数を定義しました。message パラメーターにはデフォルトの引数があります。 関数を呼び出すとき、キーワード引数を使用して値を渡します。その結果、出力は次のようになります。name
message
Welcome to LuckyTemplates!
John
Welcome to LuckyTemplates! John.
戻り値
関数を操作するとき、関数の本体内で演算の結果を返したい場合がよくあります。戻り値により、関数は呼び出し元に結果を送り返すことができます。単一および複数の戻り値の操作方法を理解することで、Python プログラムの機能を強化できます。
単一の戻り値
単一の戻り値関数は、関数内の演算から 1 つの値を返します。
単一の戻り値関数の例を以下に示します。
def get_greeting(name): return "こんにちは、" + 名前 + "!" 挨拶 = get_greeting("アリス") print(挨拶)
上の例では、関数はget_greeting
関数の引数として名前を受け取り、コンパイルしてパーソナライズされた挨拶を返します。戻り値は変数greetingに格納され、コンソールに出力されます。
複数の戻り値
場合によっては、Python の関数から複数の値を返すことが必要になることがあります。これを実現するには、タプルまたはリストを使用して戻り値をラップします。
以下は、Python プログラミング言語での複数の戻り値関数の例です。
def get_name_and_age(): return ("John", 30) 名前、年齢 = get_name_and_age() print(name) print(age)
この例では、は、 aと an のget_name_and_age
2 つの値を持つタプルを返す関数です。name
age
Python の関数から値のリストを返すこともできます。以下の関数は、関数からのリスト戻り値を示します。
def Calculate_areas(高さ, 幅): return [高さ * 幅, (高さ * 幅) / 2] 面積、triangle_area = Calculate_areas(10, 5) print(area) print(triangle_area)
この場合、関数はcalculate_areas
2 つの引数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)
入れ子関数
ネストされた関数は、別の関数内で定義された関数であり、内部関数とも呼ばれます。これらは、クロージャやモジュラー コードを作成するときに役立ちます。
ネストされた関数を作成するには、別の関数内で関数を定義するだけです。
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 内で定義されています。内部関数は外部関数の変数にアクセスできるため、それらの変数に対して操作を実行できます。
ラムダ関数
Lambda 関数は匿名関数とも呼ばれ、Python で 1 回限り使用する小さな関数を作成する方法です。データ サイエンス プロジェクトでは、効率的なデータ構造とパイプラインを作成するために Lambda 関数を使用することがよくあります。
lambda 関数を作成するには、lambda キーワードの後に引数のリスト、コロン、式を続けて使用します。式は、ラムダ関数が呼び出されると返されるものです。以下は Python のラムダ関数の例です。
add = lambda a, b: a + b result = add(3, 4) print(result) # 出力: 7
a
上の例では、2 つの引数 (と)を受け取り、それらの合計を返すラムダ関数を作成しましたb
。このラムダ関数を という変数に割り当てましたadd
。
Lambda は次のシナリオで役立ちます。
次の例は、ラムダで高階関数 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() 関数は偶数のみを含む新しいリストを返します。
関数がさまざまなデータ サイエンス シナリオでどのように役立つかを示す例については、以下のビデオをご覧ください。
再帰
再帰は、関数がそれ自体を呼び出すプログラミングの手法です。これは、複雑な問題をより小さな同一のサブ問題に分割して解決するのに役立つ方法です。
再帰関数を作成するときは、基本ケースと再帰ケースという 2 つのことに留意する必要があります。
次の例は、Python の再帰関数を示しています。
def Factorial(n): n == 1 の場合: 1 を返します n を返します *階乗(n - 1) 階乗(5)
この例では、基本ケースは when でありn == 1
、関数は を返します1
。再帰的なケースは、n が 1 に等しくなく、関数が を使用してそれ自体を呼び出す場合に発生しますn - 1
。
一般的なエラーとトラブルシューティング
初心者プログラマーの場合、再帰関数やラムダ関数などの関数を実装するときにエラーが発生することがよくあります。次のセクションでは、いくつかの一般的なエラーと、それらを効率的に解決するためのトラブルシューティングのヒントを取り上げます。
1. TypeError: missing a required argument : このエラーは、関数が予期する正しい数の引数を指定しない場合に発生します。
def my_function(fname, lname): print(fname, lname) # 正しい呼び出し my_function("John", "Doe") # エラーが発生します my_function("John")
このエラーを修正するには、正しい数の引数を関数に渡していることを確認してください。
2. TypeError: サポートされていないオペランド タイプ。このエラーは、互換性のない型の演算子を使用しようとすると発生することがあります。
def add_number(a, b): return a + b # 正しい呼び出し結果 = add_number(5, 3) print(result) # 引数が間違っているためエラーが発生します result = add_number("5", 3) print(result)
このエラーを修正するには、関数が正しいデータ型を処理していることを確認し、必要に応じて型キャストの使用を検討してください。
3. NameError: name 'function_name' が定義されていません: このエラーは、関数が呼び出される前に定義されていないことを示しています。
# 正しい順序 defgreet(): print("こんにちは!")greet() # 間違った順序 Goodbye() def Goodbye(): print("Goodbye!")
このエラーを修正するには、関数が正しく定義されていること、およびその関数を定義した後に呼び出していることを確認してください。
結論
要約して理解を確実にするために、Python での関数呼び出しの重要な側面を次の点にまとめます。
function_name()
)。function_name(arg1, arg2)
)。result = function_name(args)
)。Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて