05-Python

Python(Part.–)| python【ユーザー定義関数(3)】| 【引数:ひきすう(仮引数/実引数/引数でのオブジェクトの利用)】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

「引数:ひきすう」について理解する
「仮引数:かりひきすう」と「実引数:じつひきすう」について理解する
「引数に利用できるオブジェクト」について理解する

「引数」の概要

「引数」の概要

「引数」はコンピュータープログラミングにおいては、関数が外部から値を受け取るための変数(仮引数:かりひきすう)、または、受け取った値(実引数:じつひきすう)のことを意味します。

「仮引数」と「実引数」の概要

引数のうち、値を呼び込むための名前のことを「仮引数」と呼び、「仮引数」を通して呼び込まれる値のことを「実引数」と呼びます。

「引数」は複数利用することが可能です。この場合、ユーザー定義関数の宣言時に、其々の引数の名前を「,(カンマ)」区切りで準備します。

「引数」の利用方法

「引数」の利用方法

「引数」はユーザー定義関数を宣言する時に同時に準備します。準備した引数は、その順番、または、その名前を利用して値を設定することができます。

  • 「引数」はユーザー定義関数の宣言時に準備する。
  • 準備した「引数」は、その順番、または、名前を利用して値を設定する。

「引数の準備と利用」

引数の準備はユーザー定義関数の宣言時に行います。宣言した関数を利用する場合は、関数を呼び出し、()の中に実際に利用する値を入力します。下の利用例では実引数に「0」「10」「3」を利用しています。これによって、仮引数と実引数が紐づけられ、関数の中で再利用可能な値となっています。

仮引数は、実引数で指定した値を名前で再利用するための「変数」です。関数の呼び出し時には、実引数として値を設定していますが、実際には、仮引数には実引数を呼び出すための値の参照が渡されています。

def makeList(first_argument, second_argument, third_argument):
    return [list_value for list_value in range(first_argument, second_argument, third_argument)] 


print(makeList(0, 10, 3))

実行結果

関数を呼び出すときに、次のように仮引数名を利用して値を設定することが可能です。仮引数名を利用する場合、関数呼び出し時に実引数の設定を順不同で行うことができます。

def makeList(first_argument, second_argument, third_argument):
    return [list_value for list_value in range(first_argument, second_argument, third_argument)] 


print(makeList(second_argument = 10, third_argument = 3, first_argument = 0))

実行結果

「引数」に「ミュータブルなオブジェクト」を利用する

「引数」には「イテラブルオブジェクト」を利用できます。このうち、ミュータブルなオブジェクトの利用方法を確認します。

list_obj = [ 1, 9, 2 ]

def makeList(list_args):
    maked_list = [list_value for list_value in range(list_args[ 0 ], list_args[ 1 ], list_args[ 2 ])]
    maked_list += [list_value * 2 for list_value in range(list_args[ 0 ], list_args[ 1 ], list_args[ 2 ])]
    return maked_list
    

print(makeList(list_obj))

ミュータブルなオブジェクトの場合、上の関数内で行われているオブジェクトの変更(累算代入の個所)はインプレース(インプレイス)で処理されています。

実行結果

「引数」に「イミュータブルなオブジェクト」を利用する

「引数」にはイミュータブルな「イテラブルオブジェクト」も利用できます。この場合もミュータブルなオブジェクトの利用と同じで宣言に特別な違いはなく、添え字を利用することができます。

tuple_obj = (1, 9, 2)

def makeList(tuple_args):
    maked_list = [list_value for list_value in range(tuple_args[ 0 ], tuple_args[ 1 ], tuple_args[ 2 ])]
    maked_list += [list_value * 2 for list_value in range(tuple_args[ 0 ], tuple_args[ 1 ], tuple_args[ 2 ])]
    return maked_list 
    

print(makeList(tuple_obj))

上の関数で利用されている「内包表記」はミュータブルなオブジェクトを作成する時に利用できる数学の内包的記法を模したプログラムの入力方法です。この入力方法ではタプルなどの作成は行えません。今回も関数内の累算代入演算子を用いたリストの要素の追加はインプレースで処理されます。

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
05-Python

Python(Part.42)| python【集合(利用編-2)】【集合に対する様々な判定方法】

2024年11月26日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

Python(Part.26)| python【選択構造(match文)(1)】|  [Selection Structure] (match statement)(1)

2024年7月9日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

Python(Part.--)| python【ユーザー定義関数(1)】| The Basics of python [user-defined function(1)]

2024年8月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site