階乗の操作を必要に応じて機能モジュールは、使用されていない前に、私たちはこのようなものが必要になります。
1、M = INT(INPUT(' 番号を入力:' )) 2 FM = 1。 3。 ため NUM における範囲(1 ,. 1 + mである。) 。4 FM * = NUM 5。 印刷(FM)
階乗計算は、コードの部品の数だけ繰り返された場合、冗長コードが発生します。
M = INT(入力(' M = ' )) N = INT(入力(' N = ' )) Z = INT(入力(' Z = ' )) FM = 1 用 NUM における範囲(1、M + 1 ): FM * = かどうか FN = 1 用 NUM における範囲(1、N + 1 ): 、 FN * = NUM FZ = 1 用 NUM における範囲(1、Z + 1 ): FZ * = num個の 印刷(FM // FN // FZ)
私たちは、機能モジュールをカプセル化する必要があるので、コードが比較的簡単になります階乗計算を呼び出すための時間です。
以下からの数学の輸入階乗 M = INT(入力(' M = ' )) N = INT(入力(' N = ' )) Z = INT(入力(' Z = ' )) プリント(階乗(M)//階乗(N)//階乗(Z))
関数が使用して定義されDEF関数を介して実行した後、数学的引数にパラメータ対応する渡される括弧内の名前の後に、変数命名規則と一致する、定義することが戻り値を返すように数学に対応し、 Pythonでの関数のパラメータ変数のためには、デフォルトのパラメータも可変パラメータとして設定することができますすることができ、Pythonのような他の言語は、次の例のように、オーバーロードをサポートする必要はありません。
DEF power_7(M = 3 )。 FM = 1 用 NUM における範囲(1、M + 1 ): FM * = NUMの リターンFMの 印刷(power_7()) #引数なしでは、出力のデフォルト値です。3! 印刷(power_7(5))
実際には、我々は現時点では判断できない関数にパラメータの数は可変パラメータの方法で定義することができます。
DEFの add_7(*引数): #のパラメータ名の前で演奏*は、それが可変のパラメータであることを特徴とする ための NUM で引数: 合計 + = NUMの リターン合計 プリント(add_7()) プリント(add_7(5 ))、 印刷(add_7(1,2,3,4,5,6,7,8))
管理機能モジュールと
同じの.pyファイルでは紛争の同名の機能、および今回の機能モジュールを管理する必要性として定義することができます。各ファイルのPythonモジュールで、モジュールが同じ名前で異なる機能を可能にします:
module1.py
デフseven_7(): 印刷(' ハローワールド')
module2.py
デフseven_7(): プリント(' さよなら世界')
test.py
インポートM1としてModule1の インポートM2としてモジュール2 のプリント(m1.seven_7()) プリント(m2.seven_7())
これでモジュールは、モジュールがインポートされたときに実行される他の実行可能コードを含むことができ、我々はこの状況を回避するために、以下の設定が必要になります。
module3.py
DEFのFOO(): パス DEFのバーは、(): パス #パイソン__name__はモジュール名を表し暗黙的変数である #1 のみ直接Pythonインタプリタモジュールを実行する名前を__main__ある IF __name__ == ' __main__ ' : 印刷(' コールのfoo()" ) FOO() 印刷(' コール・バー()' ) バー()
直接かの条件の下で、モジュール、またはステートメントを実行しない限り、この場合は実行されません。