可將經常使用的功能寫成函式 function,語法如下
使用縮排代替 { } 大括號,表示函式內的程式碼內容
使用return關鍵字,回傳函式內的相關資料或變數
def 函式名稱(參數):
程式碼
return 資料或變數
假如要計算一個二元一次方程式 f(2)=x**2+2*x+10
x = 2
y = x**2+2*x+10
print('x**2+2*x+10={}'.format(y))
輸出結果
x**2+2*x+10=18
可重復使用,可讀性佳,程式模組化,因此如果想在計算 f(3), f(4).....f(100),總不能寫100行上述的程式碼吧,這時候我們就要使用函式 function來簡化我們的程式碼
def f(x):
y = x**2+2*x+10
return y
print('x**2+2*x+10={}'.format(f(2)))
print('x**2+2*x+10={}'.format(f(3)))
print('x**2+2*x+10={}'.format(f(4)))
print('x**2+2*x+10={}'.format(f(100)))
輸出結果
x**2+2*x+10=18
x**2+2*x+10=25
x**2+2*x+10=34
x**2+2*x+10=10210
def f(k, x):
y = k * x**2
return y
k=2
print('y={}*x**2:({},{})'.format(k,1,f(k, 1)))
print('y={}*x**2:({},{})'.format(k,2,f(k, 2)))
print('y={}*x**2:({},{})'.format(k,3,f(k, 3)))
k=3
print('y={}*x**2:({},{})'.format(k,1,f(k, 1)))
print('y={}*x**2:({},{})'.format(k,2,f(k, 2)))
print('y={}*x**2:({},{})'.format(k,3,f(k, 3)))
k=1/2
print('y={}*x**2:({},{})'.format(k,1,f(k, 1)))
print('y={}*x**2:({},{})'.format(k,2,f(k, 2)))
print('y={}*x**2:({},{})'.format(k,3,f(k, 3)))
輸出結果
y=2*x**2:(1,2)
y=2*x**2:(2,8)
y=2*x**2:(3,18)
y=3*x**2:(1,3)
y=3*x**2:(2,12)
y=3*x**2:(3,27)
y=0.5*x**2:(1,0.5)
y=0.5*x**2:(2,2.0)
y=0.5*x**2:(3,4.5)
類似函式,又不像函式需函式名稱 ,因此又被稱為無名函數,基本上 lambda 是函式的簡化
a = lambda x: x ** 2
print(a(3))
print(a(10))
輸出結果
9
100