(A)の定義と関数呼び出し
コード:
DEF MAX(X、Y): #は、変数zを定義し、変数xに等しく、yの値より大きい #1 Z = X IF X> Y Y他 IF(X> Y): リターン(X) 他: リターン( Y) A = 478 、B = 345の657 #呼び出しは()関数は、結果の値を変数に割り当てられている機能が戻るmy_max 結果= MAX(A、B) #① 印刷(" 結果:"、結果)
結果:
結果:345657
コード:
DEF A(愛): 印刷(' ------これは驚くべき言語-------です' ) を返すラブ+ ' Pythonの' A1 = A(' のようなI ' ) を印刷(" I言った:" 、A1)
結果:
------これは素晴らしい言語です------- 私は言った:私はPythonのような
(B)基準送信値が送信されると
実パラメータの異なるタイプが、送信モード機能パラメータは、2種類に分けることができ、それぞれ、基準値が送信される(アドレス)を通過しました。
値が渡される:引数型が不変タイプ(文字列、数値、成分)に適しています。
参照(アドレス)が送信される:引数は、変数の型(リスト、辞書)に適用され、
送信および基準送信との間の差の値が渡されたパラメータ値の関数であり、パラメータ値が変更された場合、引数は影響を与えません値とパラメータの値を変更する、参照によって渡された関数パラメータの後に続けて、引数の値が共に変化します。
コード:
DEF デモ(OBJ): OBJ + = OBJ 印刷(" パラメータ値:" 、OBJ) を印刷(" -----------------値渡さ------ ---------- 「) #の値が渡されるアプリケーションの種類:文字列、数値、等タプル引数不変 A = 」C言語中国語ネットワーク「 印刷(」値:" 、) #形状パラメータの変化の値は、引数の値が、パラメータスタック、および同じ引数には影響を与えない場合 のデモ() 印刷(「引数がある:」、) 印刷(" ---- --------------- -------------参照渡し" ) #引数は、変数の型のタイプ(リスト、辞書)に適用される A = [ 「0 」、「1 」、「2 」] デモ(A) #の変化パラメータを使用して、引数が変更された プリント(「引数値ある:"、A)
結果:
-----------------値は----------------渡された C言語中国のネットワーク:値 パラメータ値:Cを中国のネットワーク言語中国語Cネットワークの 引数が見つかり:C言語中国のネットワークが ----------------- ---------------参照渡し パラメータ値:[ '0'、 '1'、 '2'、 '0'、 '1'、 '2'] 引数値:[ '0'、 '1'、 '2'、「0 '' 1 '' 2「]
(C)パラメータ
(1)位置パラメータ
関数の呼び出しでは、指定されたパラメータの実際の数は、パラメータの同じ数の形でなければならない(マルチチュアンチュアンレス動作しません)。
(2)キーワード引数
キーワード引数は、仮パラメータの使用を意味する名前の入力パラメータ値を決定します。
コード:
DEFの男(セックス、名): #の印刷( "性別"、セックス) #の印刷( "名"、名前)#は関数定義 のリターンを ' I ' +セックス+ ' \ T ' ' 女性に興味のある' + ' \トン' + 「の名前は次のとおりです。」 + 名; 印刷(マン(「男の子」、「ジョン・ドウ」)) #パラメータに渡されたキーワード引数 を印刷(男性(セックス= 「男の子」、名前= 「ジョー・スミス」)) #キーワード引数を使用して交換可能位置 印刷(男性(性別= 「男性」、名前= 「ジョン・ドウ」))# の部分のパラメータが使用一部のキーワードパラメータは、位置 #位置パラメータは、キーワード、パラメータの前に配置する必要があります 印刷(男性(「男性」、名前= " 張' )) #の指定した印刷(男性('男性'性別='ジョン・ドウ「))
結果:
私は男性の趣味女性の名前午前:ジョー・スミス 私は男性の趣味女性の名前午前:ジョー・スミス 私は男性の趣味女性の名前午前:ジョー・スミス 私は男性の趣味女性の名前午前:ジョー・スミス
(3)デフォルトパラメータ
Pythonは仮パラメータに直接、関数を定義して、すなわち、デフォルトのパラメータ値を設定することを可能にするデフォルト値を指定します。
コード:
#2のパラメータとして指定されたデフォルト DEFの男(名= 「タゴール」、著書= 「パイソン」): リターン名+ ブック; #すべてのデフォルトパラメータ A = 男性() 印刷(A) #は唯一のデフォルト値予約 Bを=男(' Cangyangjiacuo ' ) 印刷(B) #どちらのパラメータのデフォルト値の C =男(' Nalanrongruo '、' ボウル' ) 印刷(C) #名前のみのパラメータデフォルト値は D =男(ブック= 「鳥」) プリント(D)
結果:
タゴールのpython Cangyangjiacuoのpython Nalanrongruoボウル タゴール鳥
(IV)逆方向伝送パラメータ
リスト内のパラメータを参照するいわゆる逆収集パラメータは、プログラム、タプル、辞書や他のオブジェクト、関数に渡され、その「オープン」への要素の前提となっています。リバースパラメータは、入ってくるリストの前にアスタリスクを追加するタプルパラメータ、辞書パラメータの前に2つのアスタリスクを追加する必要が収集しました。
コード:
DEFの男(名、書籍): 印刷(' 名:' + 名) を印刷(' 作品です:' + ブック) A = [ ' タゴール'、' 鳥' ] 男( * A) B =男(" タゴール「」庭師")
結果:
名前:タゴールは 動作します:鳥 の名前を:タゴールは 動作します:庭師を
(E)関数の戻り値の複数
コード:
DEF sum_and_avg(一覧): SUM = 0; COUNT = 0; 用 I で一覧: IFでisinstance(I、int型)またはでisinstance(I、フロート): SUM + = I COUNT。+ = 1つの 印刷(SUM) を印刷(SUM / COUNT) #値sum_and_avg関数リターンを複数取得し、戻り値はタプルの複数にパッケージングされる のList1 = [2,4,6,7,3,5,6、「G 」] sum_and_avg(リスト1)
結果:
33 4.714285714285714
コード:
DEF (リスト)sum_and_avg: SUM = 0; COUNTは = 0; のための I にリスト: IFでisinstance(I、INT)又はでisinstance(I、フロート): SUM + = I COUNT。+ = 1 戻り SUM、SUM / COUNT のList1 = [2,4,6,7,3,5,6、' G ' ] A、B = sum_and_avg(リスト1) #シーケンスを使用して、戻り値を複数得ることがアンパック 印刷(A) プリント(B)
結果:
33 4.714285714285714