我們先來看個例子:
1.def abc():
2.print 'hello word'
3.
4.>>abc()
5.'hello word'
非常簡單的小例子,我們封裝了一個交abc的函數,函數的功能就是打印‘hello word’,這裡要注意定義函數的關鍵詞def 冒號結尾 和shell中的方法一樣,下面的print 前面要遵循python的縮進風格。
相信你一定聽說過函數式編程,粗狂的理解就是你所編寫的某個功能,代碼大部分是通過函數封裝的。函數可以互相調用來完成一系列動作。
1.def abc():
2.print 1
3.
4.def xxx():
5.print 2
6. abc()
7.
8.>>xxx()
9.2
10. 1
11.
12. 函數調用函數
帶參數的函數
同樣的函數可以帶參數,參數可以指定默認值,直接看個例子
1.def abc(x):
2.print x + x
3.
4.>>abc(1)
5.2
6.
7.def abc(a,b=2):
8.#這個函數里面b指定了一個默認值,如果調用函數時沒有指定b的值 它就會默認使用函數定義時的2
9.print a + b
10.
11. >>abc(a=1)
12. 3
13. >>abc(a=1,b=1)
14. 2
同樣的,函數的參數可以是各種類型,列表,字符串,浮點,都可以,各位老鐵自己試驗一下。
內置函數
作為友好的全能的python,當然也提供了很多內置的函數供給使用。
內置函數的使用方法請瀏覽官方文檔https://docs.python.org/2/library/functions.html
1.咱隨意列舉幾個例子
2.abs函數參數是數字,獲取絕對值
3.abs(100)
4.100
5.abs(-100)
6.100
7.數據類型轉換函數,這個比較常用
8.int('123') 字符串轉數字
9.str(1.23) 轉換成字符串
遞歸函數
這是一個比較特殊的函數,什麼叫做遞歸函數呢?一個函數在內部邏輯裡自己調用了自己,這種函數被稱為遞歸函數
注意使用遞歸函數時一定要有個明確的結束條件,否則會一直遞歸下去直至報錯。
看個例子:使用遞歸的方式來生成斐波那契數列
1.def recur_fibo(n):
2.if n <= 1:
3.return n
4.else:
5.return(recur_fibo(n-1) + recur_fibo(n-2))
6.
7.
8.# 獲取用戶輸入
9.nterms = int(input("您要輸出幾項? "))
10.
11. # 檢查輸入的數字是否正確
12. if nterms <= 0:
13. print("輸入正數")
14. else:
15. print("斐波那契數列:")
16. for i in range(nterms):
17. print(recur_fibo(i))
18.
19.
20. >>您要輸出幾項? 10
21. 斐波那契數列:
22. 0
23. 1
24. 1
25. 2
26. 3
27. 5
28. 8
29. 13
30. 21
31. 34
遞歸函數看不懂沒關係,咱們以後有很多機會學習他。好啦今天就到這裡,雖然不夠詳細,但咱做個拋磚引玉。希望各位老鐵越來越好!
獲取更多學習資料請私信我
閱讀更多 js龍紋 的文章