Function 是一段可重複使用的程式碼,方便管理、維護已經寫好的程式工具。
而Python中有很多built-in functions像是print(),而你也可以自己創造function,稱做user-defined functions
def functionname( parameters ):
"""
message shown when querying this function with help()
"""
#statement1
#statement2
#...
return [expression]
一個可以將攝氏溫度轉換成華氏溫度的自訂函數 converting Celcius temperature to Fahrenheit
# user-defined function converting deg-C to deg-F
def CtoF(Tc):
Tf= 32+(Tc*9/5)
return Tf
# main program
Tc=100
print(Tc,'deg-C = ',CtoF(Tc),'deg-F')
100 deg-C = 212.0 deg-F
# user-defined function: quadratic formula
def quadf(a,b,c):
"""
Given the coefficients a, b, c, returns the solution of
the quatratic equation a*x^2+b*x+c=0
For example:quadf(a,b,c)
"""
return [(-b+(b**2-4*a*c)**0.5)/(2*a),(-b-(b**2-4*a*c)**0.5)/(2*a)]
# main program: solve i*x^2+j*x+k=0
i=1.0
j=2.0
k=-3.0
x=quadf(i,j,k)
print(x)
[1.0, -3.0]
help(quadf)
Help on function quadf in module __main__: quadf(a, b, c) Given the coefficients a, b, c, returns the solution of the quatratic equation a*x^2+b*x+c=0 For example:quadf(a,b,c)
前面的例子,自訂函數跟主程式是寫在同一個py檔中,用def與縮排區隔。 如果想要讓自訂函數可以被其他的py檔使用,要利用import的方式
假如自訂函數是存在myfunc.py,名稱為functionname:
import myfunc as ...
x=myfunc.functionname(...)
(注意: myfun的.py要省略) (注意: 儲存自訂函數的.py檔,名稱不能與自訂函數的名字相同)
如果我們把剛才的quadf函數另存成myfunc.py
import myfunc as mf
print(mf.quadf(1,2,-3))
[1.0, -3.0]