理解と関数の定義:
効果:プログラミングとコードの再利用の困難さを軽減
定義:
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)