python入門(五)関数の定義
pythonでの関数の定義はdefで始まり、関数定義の名前と()に続く「かっこで定義されたパラメータ」はコロンで始まり、スケールされ、returnは次のように終了します.
伝達パラメータ:
ming=[1,2,3]ming="ok"上記のように変数にはタイプがなく、listでstrパラメータに分けることができる
必須パラメータ:
それは間違いを告げる
キーワードパラメータ:
出力はOK
デフォルトの関数:
戻り値n=20 m=20 n=100 m=10不定長パラメータ:
出力11,2,3,4匿名関数:
複数のパラメータ:
出力:1(2,3,4){n:1,m:2}高次関数:
SORTEDソートは高次関数で使われることが多い
def hello (ming):
print ming
return
伝達パラメータ:
ming=[1,2,3]ming="ok"上記のように変数にはタイプがなく、listでstrパラメータに分けることができる
必須パラメータ:
def hello (ming):
print ming
return
hello();
それは間違いを告げる
キーワードパラメータ:
def hello (ming):
print ming
return
hello(ming="ok");
出力はOK
デフォルトの関数:
def hello (n,m=10):
print n
print m
hello(n=20,m=20);
hello(n=100
戻り値n=20 m=20 n=100 m=10不定長パラメータ:
def hello (*args):
print args
return
hello(1);
hello(1,2,3,4)
出力11,2,3,4匿名関数:
:
def hello (n,m):
print n*m
:
lambda n,m:n*m
複数のパラメータ:
def hello (a,*args,**kwargs):
print args
return
hello(1,2,3,4,n=1,m=2)
出力:1(2,3,4){n:1,m:2}高次関数:
map
def hello(x):
print x * x
map(hello,[1,2,3,4])
:
1,4,9,16
reduce
def hi (x,y):
print x+y
reduce(hi,[1,2,3,4])
:
15
SORTEDソートは高次関数で使われることが多い
n = [5,7,6,3,4,1,2]
m = sorted(n)
print n
[5, 7, 6, 3, 4, 1, 2]
print m
[1, 2, 3, 4, 5, 6, 7]
A=dict(a=1,c=2,b=3,d=4)
print(sorted(A))
['a', 'b', 'c', 'd']
print(sorted(A.item(), key=lambda x:x[1]) )
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
print(sorted(A.item(), key=lambda x:x[1],reverse=True) )
[('d', 4), ('b', 3), ('c', 2), ('a', 1)]