アプリケーションの機能モジュールが向上し、コードの再利用することができます。多くの高レベルの言語では、さまざまな機能を実現するための機能を使用することができます。以前の研究では、私はあなたがすでにPythonが、そのような()印刷など、多くの組み込み関数を提供します知っていると信じています。同様に、あなたはまた、カスタム機能を実装するために、ユーザー定義関数と呼ばれ、独自の関数を作成することができます。
まず、基本的な機能を使用します
1.定義機能
関数がある特定の機能、ステートメントの再利用可能なグループと期間の関数名や関数呼び出しでは、関数名で表されます。
特定の機能を完了するための機能、および効用関数の機能と同様のブラックボックスがある限り、入力および出力する機能の理解として、内部実装の原理を知っている必要があります。だから、関数は、関数の抽象化です。
プログラミングとコードの再利用の困難さを軽減する:利用機能は2つの目的があります。だから、複雑な機能は、関数の実装を使用してプログラムすることができます。
ここで、予約語を使用してPythonはDEF、次の構文を関数を定義します。
DEF <関数名>(<パラメータリスト>):
<機能>
戻り<値のリストを返す>
注:パラメータ、デフォルトのパラメータ値、およびパラメータ名の複数のパラメータのリストが一緒に関数宣言を一致させるために定義されている場合。
呼び出し元プロセスの2機能
プログラムは4つのステップで実行される関数を呼び出します。
(1)プログラムを呼び出しで中断さ呼び出します。
呼び出されたとき(2)関数のパラメータに引数をコピーします。
(3)関数本体ステートメントを実行します。
戻り値の最後で与えられる(4)関数呼び出しは、プログラムは、通話を継続する前に一時停止に戻ります。
呼び出し元のプロシージャの機能からは、人々は、関数型プログラミングの概念から出てきます。関数型プログラミングは、さらに、一般的なプログラミングパラダイム命令型プログラミングとオブジェクト指向プログラミングを含むプログラミングパラダイムです。関数型プログラミングの主な考え方は、関数のシリーズを使用して手順で、理解しやすい、より簡潔な中小規模のソフトウェアプロジェクトをコーディングすることができ、プログラミングの最も一般的な形式です。
伝達関数の第二に、パラメータ
1.オプションとパラメータの可変数、
オプションのパラメータ
これらのパラメータに直接関数を定義する際にいくつかのパラメータのデフォルト値がある場合は、関数を定義すると、その部分は必ずしもプログラム入力機能を呼び出す必要はありません、あなたはデフォルト値を指定することができます。関数が呼び出されたときに関数を代わりに定義されている場合、着信パラメータ値がデフォルト値に対応しない場合。例えば:
デフォルトパラメータを使用します。
デフのprintf(strの、回= 3 ): プリント(STR *回)
>>>のprintf( "こんにちは")
ハロー
ハロー
ハロー
入力パラメータ
DEFのprintf(STR、時間= 3 ): プリント(STR * 回) >>>のprintf(" こんにちは"、2)
ハロー
ハロー
可変パラメータ
関数定義は、あなたも設計することができたとき可変パラメータのパラメータ(*)の前にアスタリスクを追加することで実現し、。アスタリスクの付いた変数のパラメータは、唯一の引数リストの最後に表示することができます。呼び出された場合、これらのパラメータは、関数に渡されたタプルとして扱われます。
例えば:
デフのprintf(時間、* B): プリント(B * 倍) のprintf( 2,1,2,3 ) >>>(1、2、3、1、2、3)
2.パラメータの場所と名前が渡されました
パイソンは、例えば、入力引数はパラメータ名に応じた方法で提供されています
パラメータは関数のFucにより決定リターン=のFuc(X1 = 2、X 2 = 5、X3 = 8)#
パラメータ名で指定された関数が呼び出され、パラメータ間の順序を調整することができます。
3.関数の戻り値
return文は、関数を終了し、プログラムの位置を続けると呼ばれている返すために使用されます。
一方、ノーリターン機能が存在しない場合が、機能は現時点では値を返しません。関数は、複数の値を返すタプルに格納された複数の値を返すことができます。
4.関数の変数の役割
:プログラム内の変数は、2つのタイプが含まグローバルとローカル変数を。それは一般的に、プログラムの中で行われ、全体のプロセスが有効であるインデントない、関数の変数の外に定義されたグローバル変数を参照します。変数が存在しないときに、関数が終了し、唯一の有効な関数内で使用された関数内のローカル変数の変数を参照します。
への変数の以下の原則を遵守するPythonの関数:
(1)のみを作成し、関数内で使用するために、かどうか、同じ名前の単純なデータ型、変数およびグローバル変数は、関数は、グローバル変数と同じ名前で、その値が変わらない場合、変数は、解放されて終了します。
グローバル変数として使用するグローバル予約語と宣言(2)単純なデータ型の変数は、変数は、関数終了を保持し、関数の値が変更されます。
(3)グローバル変数のデータ・タイプの組み合わせを、変数は実関数内に作成される同じ名前ではなく、関数はグローバル変数の内部値を変更するために使用することができる場合。
変数のデータ型の真の組み合わせを作成するための内部関数場合は(4)に関係なく、同じ名前のグローバル変数があるかどうかの、機能がグローバル変数の値は変更されずに、ローカル変数は関数の終了後に解放され、ローカル変数のみで動作します。
第三に、コードの再利用とモジュラー設計
関数は、カプセル化することによって達成される抽象プログラム、あるコードの再利用を。プログラムのモジュール設計は、機能を使用することができます。
コードシーケンスが、未組織であれば、プログラムは、コードの一連のコンポーネントで構成され、読んで理解を助長されていません、維持し、アップグレードすることは困難です。このように、抽象としてコードリソースは、理解しやすい構造を形成します。
関数は、基本的な抽象的な方法のプログラムであり、それは他のプログラムの名前で一連のコードを整理します。呼び出さに書き込まれ、同じコードを繰り返し回避するようにカプセル化の直接的な利点は、限り、呼び出し元の関数に他のコードの入力パラメータとして、関数コードの再利用です。更新機能は、機能がまったく更新でき呼び出されたときにコードを再利用、別の利点をもたらします。
モジュラー設計は、メインプログラム、サブプログラムとサブプログラムの関係との間の発現に機能プログラムをカプセル化機能又はオブジェクトを指します。モジュラー設計と関数オブジェクト設計プログラムを思考の方法を使用して、基本単位としての機能ブロック、一般的に次の2つの基本的な要件があります。
(1)密結合:しっかりブロック内結合として合理的な分割機能ブロック、。
(2)疎結合:機能ブロック間の単純な、低結合としてモジュール間の関係。
一般的に言えば、それはモジュール、密結合された内部モジュールとの間の疎結合
第四に、再帰関数
1.再帰的定義
他の手順で呼び出すことができるコード・パッケージの関数として、もちろん、関数は内部コードと呼ばれてもよいです。この関数は、関数が呼び出され、それ自体を呼び出す方法で定義される再帰的に。
再帰の二つの主要な機能:
(1)(最小サイズの問題の解決策)1つまたは複数のグループの実施形態の存在は、塩基は、再帰的な実施形態再び、それが決定される発現を必要はありません。
(2)再帰的に一以上の実施形態において、全ての末端基です。
再帰2.使用
例:階乗計算。
デフ事実(N): もし n個の== 0: リターン 1 他: リターンのn *事実(N-1 ) のn =のeval(印刷()) プリント(実際(ABS(INT(N))))
入力:
>>> 10 26288800