一、函數
函數(Function)也叫方法(Method),是一組可以重複使用的代碼段。函數分爲內部函數和用戶自定義函數。內部函數就是編程語言已經寫好了,用戶無序定義就能直接調用的函數,比如說len()、str()、print()等,但是這些函數還遠不能滿足實際開發,故用戶可以自定義函數。函數的結構是
def 函數名(參數):
#(注意縮進)
函數體
return 返回值
其中函數的參數和返回值可以省略。函數可以被重複調用。調用時只需要寫函數名和括號、參數(若有參數的話)就行
# 定義函數(這裏沒有參數和返回值)
def my_function():
print("調用了此函數")
# 調用函數,這裏調用三次
my_function()
my_function()
my_function()
二、參數
參數就是在調用函數時給函數處理的變量,可以是0個,也可以是一個或多個。若在定義函數時需要參數(形參),而在調用函數時卻沒有傳入參數(實參)則會報錯
# 定義函數,輸出傳入的參數
def sayhello(a):
print(a)
# 調用函數,傳入的參數不一樣
sayhello("hello")
sayhello("你好呀")
sayhello() # 調用時沒有給參數,報錯
爲了避免因缺少參數值而報錯的情況,可以在定義函數時就給它一個默認值
def sayhello(a="hi"):
print(a)
sayhello("hello")
sayhello() # 不給參數,輸出默認的hi
若定義函數時使用了多個參數,在調用時該函數傳入的參數位置應與定義時一致。但若在定義時指定了形參默認值則實參可以不按順序
def my_fun(a=1, b=2):
print(a)
print(b)
my_fun(b=4,a=3) # 先輸出3,再輸出4
三、返回值
若執行完一個函數得到一個值(也可以是其他),可以將其返回。比如說定義一個加法函數,計算完之後返回計算結果,並把結果賦值給一個變量
def add(a, b):
c = a + b
return c # 這裏返回單個值,若要返回多個值,可以讓它返回一個列表
d = add(1, 2)
print(d)
e = add(3, 4)
print(e)
返回值可以是變量、確定的值、列表等,還可以是一個函數,比如說返回函數本身,實現階乘
def factorial(a):
if a <= 1:
s = 1
else:
s = a*factorial(a-1)
return s
print( factorial(3) )