ワン:学習
- 機能の概要
- 関数のパラメータの戻り値と
- 転送パラメータの値は、参照によって渡され、
- キーワード引数
- デフォルトパラメータ
- 可変長パラメータ
II:関数の概要
1.エッセンス:機能は、パッケージの関数であり、
2.利点:
コードの構造、コード多重が増加(繰り返し使用の程度)を簡略化するために
特定の機能を変更するには、のみに対応する機能を修正する必要があります
3.関数の定義
フォーマット:
DEF関数名(パラメータリスト):
ステートメント
リターン式
注意:確定申告式を、あなたが書くことができない、Noneを返すと等価
例えば:
デフmyPrint():
プリント(「テスターは良い女の子です!」)
プリント(「テスターは素敵な女の子です!」)
プリント(「テスターは美しい女の子です!」)
4.関数呼び出し
フォーマット:関数名(パラメータリスト)
注意:パラメータリストが関数に渡された発信者情報の関数で、パラメータなしの場合は、括弧を省略することはできません
関数呼び出しの性質:プロシージャのパラメータの割り当ての引数
例えば:
myPrint()
III:関数のパラメータと戻り値
1.機能なしには戻り値を参照しません
例えば:
#非参照に、関数の戻り値を定義していない
:DEF myPrint()
(「テスターが良い女の子です!」)の印刷を
印刷する(「テスターはニースの女の子です!」)
印刷(「テスターは美しい女の子です!」)
#を呼び出し
myPrintを()
2.ファンクションのパラメータは、 - 通過しなければならない順序パラメータに従って、数に対応しなければなりません
パラメータ(仮パラメータ):関数を定義することは、本質的変数、変数を括弧
引数(実際のパラメータ):関数呼び出しのデータ転送機能、本質的価値
例えば:
デフmyPrint(STR、年齢):
プリント(STR、年齢)
#コール
= 18
myPrint( "テスター"、A)
3.関数の戻り値
mySum DEF(NUM1、NUM2):
#は呼び出し元の関数に結果を返す
return文を実行した後#、関数が終わって、リターンコードステートメントのバックは行わない
リターンNUM1を+ NUM2の
#呼び出し
(mySum(3,2)のプリントを)
IV:転送パラメータの値は、参照によって渡され、
1.渡される値:渡された元のを変更せずに、不変のタイプ(数値、文字列、タプル)であります
例えば:
DEF FUN1(NUM):
NUM = 10
TEMP = 20
FUN1(TEMP)
プリント(TEMP)
参照によって渡された2:伝送のタイプは、元の変更、(リスト、辞書、集合)変数であります
例えば:
DEF fun2(リスト):
リスト[0] = 100
および= [1,2,3,4]
fun2(IT)
プリント(IT)
5:キーワード引数
1.キーワードパラメータ:時系列の一貫性のないパラメータが定義された関数の呼び出しが可能に
myPrint DEF(STR、年齢):
プリント(STR、年齢)
A = 18ではない
#noキーワードパラメータは、パラメータ渡しが同じ順序のパラメータを定義する必要があり
myPrint( "テスター"、A)
キーワード引数を使用して#が、通常の状況下で、または同じ順序で定義された順序とパラメータを維持する
myPrint(年齢= 19、STR = 「テスター」)
6:デフォルトのパラメータ
1.デフォルトパラメータ:なしパラメータ場合、関数が呼び出され、デフォルトのパラメータ
例1:
デフmyPrint(STR = "テスター"、年齢= 18):
プリント(STR、年齢)
myPrint()
実施例2:
#は、デフォルトパラメータ、最終的に、好ましくはデフォルトパラメータを使用
:DEF myPrint(STR、年齢= 18である)
プリント(STR、年齢)
myPrint( "テスター")
7:可変長パラメータは - 定義されたパラメータよりも多くを扱うことができます
1.タプル受信データ
第一の可変長書き込まパラメータ*引数、*タプルの代わりにデータのタプルとして引数*
例1:
パラメータが関数呼び出しで指定されていない場合、すべての変数引数の無名#プラスアスタリスク(*)変数店は、それが空のタプルです
:DEF FUNC(名前、*引数)
を印刷(名)#プリントを最初のテスターの
印刷(タイプ(引数))#はタプルである
引数で私のために:
印刷(I)#プリント、その後は良い女の子です
、FUNC(「テスター」「ある」、「A」、「グッド」 、 "女の子!")
#*編曲パラメータが戻って与えられていない
FUNC(「テスター」)
例2:複数の番号を見つけ、
DEF mySum(NUM *)で共有:
SUM = 0
NUMで私のために:
SUM = I +
リターンのSUM
(mySum(1,2,3,4)で共有)を印刷
2.辞書のキーのデータ型を受け入れます
第二の可変長パラメータ文言** kwargsからは、**辞書の種類、キーデータの代表をkwargsから
例1:
デフ関数func2(** kwargsから):
プリント(kwargsから)
印刷(タイプ(kwargsから))
関数func2(X = 1、Y = 2、Z = 3)
関数func2(1,2,3)#は文句を言うでしょう
3.任意のタイプのデータを受け入れます
タプル型として* argsを、*タプルデータの代わりに
** **キーデータの辞書の種類、代表をkwargsから
例えば:
FUNC3 DEF(*引数、** kwargsから):
プリント(引数)#プリント(1、( 'A'、2)、[1,2]、{1、2})
プリント(kwargsから)印刷{# ' X ':1、' Y ' 2、Z'「:3}
FUNC3(1、( "A"、2)、[1,2]、設定([1,2])、X = Y 1 = 2、Z = 3)