コードの再利用再帰関数とのpython 5週目、関数の定義と使用、

理解と関数の定義:

効果:プログラミングとコードの再利用の困難さを軽減

定義: 

def <函数名> (<参数(0或多个)>):
    <函数体>
    return<返回值>    

パラメータ:

パラメータは、に分割され、非オプションのパラメータおよびオプションのパラメータ、最初のパラメータは、非任意であります

関数定義ができるように設計されていない変数パラメータ、どちらもパラメータの総数が決定しました

def fact (n,*b):
    s = 1
    for i in range (1,n+1):
        s*=i
    for item in b:
        s *=item
    return s
#>>>fact(10,3) 10886400
#>>>fact(10,3,5,8) 43545600

パラメータは、2つの方法で渡し:転送転送の場所と名前を

def fact (n,m=1):
    s = 1
    for i in range(1,n+1)
        s*=i
    return s//m

事実(10,5)事実(M = 5、N = 10) の結果が同じです

関数の戻り値:リターン

関数が値を返すか、ないかもしれないことができ、

戻り0戻り値を返すことができ、戻り値は、パスの複数であってもよいです

def fact(n,m=1):
    s = 1
    for i in range (1,n+1):
        s*=i
    return s//m,n,m
#>>>fact(10,5)    (725760,10,5)

#>>>a,b,c=fact(10,5) 
#print(a,b,c)   725760 10 5

ローカル変数グローバル変数

ローカル変数の内部機能は、ローカル変数の変更は、全体的には影響を与えません。

予約語は、株式会社フリー参加します

ローカル変数を使用して、内部グローバル関数は、グローバル変数になることができます

あなたはローカル変数を作成する場合は、グローバル変数には、真実ではありません

ラムダ関数:

<関数名> =ラムダ<パラメータ>:<式>単純な定義缶機能のため、関数名が戻り結果の行で表されます。

f = lambda x,y: x + y
f(10,15)
#25

そして、再帰関数の再利用コード:

コードの再利用:

必要なときに同じコードを再利用することができます。

関数とオブジェクトは、コードの再利用の2つの主要な形態です

機能:コードは予備的な抽象を確立するためのコードレベルで命名されます

オブジェクト:プロパティとメソッド<A> <B>と<A> <B>()関数を再び組織概要について

モジュールとモジュールとの間の発現にプログラムを分割することによりモジュラー設計、機能またはオブジェクトのカプセル化

密結合:2つの部分の間の通信の多くは、5つの独立した存在Iを作っ

疎結合された2つの部分の間の少ない通信を、独立して存在し得ます

内部モジュールは、密結合、緩くモジュールとの間に結合されました

再帰関数:彼ら自身の曲

でも主要な機能:

チェーン:再帰的な計算プロセスチェーンがあります

例グループ:1つ以上のグループ本実施形態では、再再帰を必要としません。

def fact(n):
    if n == 0:
        retutn 1#基例
    else :
        return n *fact(n-1)#链条

ハノイの塔:

count  = 0
def hanoi(n,a,b,c):
    global count
    if n == 1
        print("{}:{}->{}".format(1,a,b)
        count += 1
    else:
        hanoi(n-1,a,c,b)
        print("{}:{}->{}".format(n,a,b))
        count += 1
        hanoi(n-1,c,b,a)
        

 

 

 

おすすめ

転載: www.cnblogs.com/mouzaisi/p/12177836.html