Python関数パラメータ分類の原理の詳細な説明

1.パラメータの定義

1、 定義されている関数パラメーターはどこにありますか

pythonで関数を定義する場合、関数名の後の括弧を使用してパラメーターを定義します。複数のパラメーターがある場合、パラメーターはコンマで直接区切られます。

場合:

# 関数のパラメーターを使用して、任意の2つの数値を加算できる関数を定義します
def add_num(a,b):
 c = a + b
 print(c)

2、 パラメータを使用した関数呼び出し:

関数はパラメーターを定義するため、関数を呼び出すときにパラメーターを渡す必要があります

add_num(11,22)

運用結果

33

上記の場合、関数を定義するときに関数名の後に括弧で囲まれたパラメーターは、正式なパラメーターと呼ばれます。

関数を呼び出すとき、渡されたパラメーターは実際のパラメーターと呼ばれ、正式なパラメーターは実際のパラメーターを受け取るために使用されます。

2、パラメータ分類

上記では、正式なパラメータと実際のパラメータについて説明しました。正式なパラメータと実際のパラメータを定義して呼び出す場合、それらはさまざまな形式に従っていくつかのカテゴリに分類できます。

1、 実際のパラメータによる分類

実際のパラメータ:位置パラメータ、キーワードパラメータ

1.1、 位置パラメータ(名前のないパラメータ)

def func(a,b,c):print(a)print(b)print(c)add_num(11,22,33)
# 運用結果
112233

上記の場合、関数の3つの正式なパラメーターは、位置によって渡される実際のパラメーターを受け取ることです。この形式の受け渡しパラメーターを位置パラメーターと呼びます。

1.2、 キーワードパラメータ(名前付きパラメータ)

def func(a,b,c):print(a)print(b)print(c)add_num(11,c=99,b=33)
# 運用結果
113399

関数を呼び出すとき、実際のパラメーターはパラメーター名で指定され、特定の正式なパラメーターに渡されます。この形式のパラメーターの受け渡しでは、これをキーワードパラメーターと呼びます。

注:パラメーターを渡すときは、最初に位置パラメーターを書き込み、次に名前付きパラメーターを書き込みます

2、 正式なパラメータによる分類

正式なパラメータは、必須パラメータ、サイレントパラメータ、可変長パラメータの3つのカテゴリに分類できます。

2.1、 必要なパラメーター:

関数を呼び出すときに渡す必要のあるパラメーター

def add(a,b):
 c=a+b
 print(c)add(11,22)

上記の関数のaとbは必要なパラメーターであり、関数を呼び出すときに渡す必要があります。そうしないと、エラーが報告されます。

2.2、 デフォルトパラメータ(デフォルトパラメータ):

関数を呼び出すときは、渡すかどうかを指定できます。渡さない場合は、デフォルト値を使用できます。

def func(a,b,c=99):print(a)print(b)print(c)
​
func(11,22,33)print('-----------')func(55,66)
​
# 動作結果:
112233---------------556699

上記のケースから、最初に呼び出すときに3つのパラメーターを渡すと、cは渡した値を出力し、2回目は2つのパラメーターのみを渡す、今回はcが出力することがわかります。出てくるのは、定義時に設定したデフォルト値です

注:デフォルト値のパラメーターは、パラメーターリストの最後にある必要があります。

2.3、 可変長パラメーター* argsおよび** kwargs

関数を呼び出すときに0以上を渡すことができます

2.3.1、* args:複数の着信位置パラメーターを受け取り、それらを祖先の形式で保存します

def func(*args):  print(args)func(33,44,55,66,77)func(*(33,44,55,66,77))#運用結果(33,44,55,66,77)(33,44,55,66,77)

電話をかけるときに直接渡すことができます:func(33,44,55,66,77)、

最初にリストまたはタプルをアセンブルしてから、* unpacking:func(*(33,44,55,66,77));を渡すこともできます。

2.3.2、**kwargs:複数の着信キーワードパラメータを受け取り、それらを辞書の形式で保存します

def func(**kwargs):print(kwargs)func(e=33,h=44,f=55,d=66,c=77)func(**{'e':33,'h':44,'d':66,'c':77})
# 運用結果
{' e':33,'h':44,'f':55,'d':66,'c':77}{'e':33,'h':44,'f':55,'d':66,'c':77}

**kwargs、kwは辞書を受け取ります。

キーワードパラメータは直接渡すことができます:func(11,22、e = 33、h = 44、f = 55、d = 66、c = 77)、

最初にdictを組み立ててから、** unpacking:func(** {'e':33、 'h':44、 'd':66、 'c':77})に渡すこともできます。

注:* argsと** kwargsの使用はPythonのイディオムです。もちろん、他のパラメーター名も使用できますが、イディオムの方が優れています。

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

Python関数パラメータ分類の原理の詳細な説明
Python super()メソッドの原理の詳細な説明
Pythonタイマースレッドプールの原理の詳細な説明
pythonコマンドの-uパラメーターの詳細な説明
Pythondecimalモジュールの使用法の詳細な説明
Pythonインターフェース開発の実装手順の詳細な説明
Pythonオブジェクトの属性アクセスプロセスの詳細な説明
pythonに基づく残りの問題の詳細な説明(%)
pythonバックトラッキングテンプレートの詳細な説明
pythonシーケンスタイプの詳細な説明
Python関数の定義とパラメーターの説明
PythonIOポート多重化の詳細な説明
pythonのid関数は何ですか
python3はマスク描画の機能を実現します
pythonの関数本体は何ですか
Python推測アルゴリズムの問題の詳細な説明
Pythonでのpipの使用に関する詳細な説明|サードパーティライブラリのインストールの概要
pythonでのadbの機能は何ですか
python標準ライブラリOSモジュールの詳細な説明
pythonがコンカレントメソッドをサポートする方法の詳細な説明
Pythonに基づくデータタイプの詳細な説明
Pythonプロセス制御の一般的なツールの詳細な説明
PythonWebページパーサーの使用例の詳細な説明
Pythonの基盤を統合する(4)
Python(7)の基盤を統合する
Python(6)の基盤を統合する
Python(5)の基盤を統合する
パラメータを渡すPythonメソッド
Pythonの基盤を統合する(3)
Pythonプラグインメカニズムの詳細な実装
Pythonがメール機能を実装する方法
gpg2を使用したubuntuの詳細な説明
Pythonは中国語の4つの車輪を処理します
Pythonエラー処理は詳細な説明を主張します
地主取引のPythonシミュレーション
Pythonの用途は何ですか
Ubuntu環境でのSSHのインストールと使用の詳細な説明
Pythonでの辞書の詳細な使用法
Python文字列プーリングの前提
Python3.8の新機能の秘密
Pythonがタイマー機能を実装する方法
Pythonの父がMicrosoftに加わる
python accesshdfsの操作
pythonでのタプルの使用法
pythonを実行するメソッドを終了します
pythonでのrbの意味を理解する
Pythonはスタックの構造を実装できますか?
pythonインタラクティブモードの基本を学ぶ
pythonの必須パラメーターは何ですか
pythonの下部にあるロジスティック回帰
Python3クローラーでのAjaxの使用
PythonはTowerofHanoiゲームを解決します
pythonの複数のバージョンの競合を解決します
python変数の範囲は何ですか
Pythonは分数シーケンスの合計を実装します
Pythonガベージコレクションメカニズムの詳細な分析
Pythonの基礎を学ぶ2日間
Pythonクラスの動的バインディングの実装原則
属性からプロパティまでのPython詳細な説明
python3のピップパスはどこにありますか
Python言語の本質:Itertoolsライブラリ