コンピュータの2級試験のpython知識点の総括(4)


(『高教版python言語プログラム設計スパート試験用紙(オンライン問題ライブラリを含む)』と組み合わせてください)
1.3.4関数とコードの多重化
**試験点四(1)関数の定義と使用
  • 関数定義:defによって字定義を保持するプログラムの基本的な抽象的な方法です./#関数定義規則def():return
  • をカンマで区切る複数のパラメータ
    定義された関数は直接実行できません.実行するには「呼び出し」が必要です.
    例(/#整数nを乗算する関数を定義)
    def fact(n):
    	s = 1
    for i in range(1, n+1):
    	s *= i
    	return s
    
  • 関数の呼び出し(再帰プロセス):関数定義、呼び出し、実行、
  • を返します.
    #関数呼び出し規則()
    例:整数nに乗算する関数を定義する
    def fact(n):
    	s = 1
    for i in range(1, n+1):
    	s *= i
    	return s
    
    #         
    print(fact(100))
    
  • 再帰:繰り返し呼び出し関数自体がループを実現するが、再帰はループ
  • ではない.
    1.再帰の1つ以上の基本例は、再帰を必要としない.すべての再帰は1つのベースで終わります.
    注意:再帰は呼び出すたびに新しい関数の開始を引き起こします.再帰にはローカル値のコピーがあり、この値を含むパラメータが再帰関数を構築するにはベース例が必要です.ベース・インスタンスは再帰を行わない.そうしないと、再帰はpythonを900回以上呼び出した後、デフォルトの「再帰深さ最大値」に達し、呼び出しを終了します.
    階乗再帰関数:各関数呼び出しの相関n値は、途中の再帰チェーンで一時的に格納され、関数が戻るときに使用されます.
    def f(n):
    	if n = = 0:
    		return 1
    	else:
    		return n*f(n-1)
    print (f(3))
    
    

    考点四(2)関数のパラメータ伝達:オプションパラメータ、パラメータ名伝達、関数の戻り値
    returnは、関数を終了し、関数が呼び出された場所に戻って実行を続行するために使用されます.関数内の任意の場所に表示されます.0個、1個または複数の関数演算の結果は、関数が呼び出された変数に同時に返すことができる.関数にはreturnがなくてもよいが、関数は値を返さない.
  • パラメータタイプ:
  • 一般パラメータ:パラメータは実パラメータに1つずつ対応しています.そうしないと、コード呼び出しでデフォルト値を制限する必要があります.パラメータを指定するには、複数ありますが、一番右に置くしかありません.たとえば、def func(x,y,z = 1)の可変長パラメータ:パラメータに1つのメタグループを渡します.定義方法:パラメータの前に「*」を使用します.パラメータの個数を制限する必要はありません...例えばdef func(*numbe)キーワードパラメータ(パラメータの後に置かなければなりません.実際のパラメータを繰り返し提供してはいけません.順序は制限されません):入力後に辞書形式になります.
    >>>def func(**member)
         print(member)
    >>>func(class1 = "Tom",class2 = "Fony",)
    {‘class1’ : 'Tom',   'class2' : 'Fony'}
    
  • Lambda式:{パラメータリスト}->{実行する機能}そのパラメータタイプは、コンパイラがコンテキスト環境に基づいて推定した
  • です.
    考点四(3)変数の役割域:局所変数とグローバル変数
    ローカル変数:関数の内部でのみ使用される変数で、関数が終了すると変数は存在しません.グローバル変数:関数外で定義された変数で、プログラム実行の全プロセスで有効です.すべての変数が関数内で使用される場合は、事前に予約字global宣言を使用する必要があります./#ローカル変数z
    def multiply(x, y = 10): z = x*y return z s = multiply(99, 2) print(s) 198 print(z) Traceback (most recent call last): File “”, line 1, in print(z) NameError: name ‘z’ is not defined
    /#グローバル変数n
    n=2 def multiply(x,y=10):global n#宣言グローバル変数return xyns=multiply(99,2)print(s)396
  • コード多重
  • 関数パッケージの利点はコード多重化です.関数機能が更新されると、呼び出されたすべての機能が更新されます.関数間のパラメータと戻り値の数を減らします.モジュール化設計は機能ブロックを基本単位とし、二つの基本要求:1.緊密な結合:できるだけ合理的に機能ブロックを区分し、機能ブロックの内部結合が緊密である.モジュールまたはシステム間の関係は緊密で、より多くのまたは複雑な相互呼び出しが存在します.緊密な結合の欠点は、1つのモジュールを更新すると、他のモジュールが変化し、多重化が困難になる可能性があることである.2.松結合:モジュール間関係ができるだけ簡単で、機能ブロック間の結合度が低い.一般的にメッセージまたはプロトコルに基づいて実現され、システム間のインタラクションは簡単で、モジュール化を代表し、全体的な設計原則である.
  • 附:プロセス向けとオブジェクト向け(自分でよく知って、ここでは声明しません)ありがとうございます.