03.28 python掃盲之三--函數

python掃盲之三--函數

我們先來看個例子:

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

遞歸函數看不懂沒關係,咱們以後有很多機會學習他。好啦今天就到這裡,雖然不夠詳細,但咱做個拋磚引玉。希望各位老鐵越來越好!

獲取更多學習資料請私信我


分享到:


相關文章: