37 py爲什麼要使用函數函數中添加文本註釋 沒有返回值的函數

第一課:爲什麼要使用函數 首先 要知道 本課程的主要講解的內容爲: 1、爲什麼要創建函數 2、***函數的概念是:將一段可能別重用的代碼封賬到一個代碼段裏面,然後通過函數的參數 ,控制函數的動態部分。// 如何來定義python中的函數和使用函數 *** 3、如何創建一個函數 4、如何爲函數添加文檔註釋,如何獲取函數的文檔註釋 5、函數如何返回一個值 6、改變函數的參數值 7、關鍵字參數與參數默認值 8、可變參數 9、如何將序列中的元素單獨作爲參數值傳遞給函數 10、函數中的作用域 11、遞歸函數 # 函數 # 第一講爲什麼要創建函數 ''' 函數的概念 如何創建一個函數 爲函數添加文檔註釋,以及如何獲取文檔註釋 函數如何返回一個值 改變函數的參數值 關鍵字參數與參數默認值 可變參數 如何將序列中的元素單獨作爲參數值傳遞給函數 函數中的作用域 遞歸函數 ''' # 斐波那契數列 的規則:表示 前2個數加起來之後 等於 接下來一個數 fibs =[0, 1] for i in range(10): fibs.append(fibs[-2] + fibs[-1]) print(fibs) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] # 這樣的代碼不夠靈活,都需要改變原程序的邏輯代碼, # 直接在控制檯輸入值 ,然後傳到 執行代碼中 fibs = [0, 1] n = int(input('請輸入一個整數:')) # 這個n的值的來源已經固定了,只能從控制檯輸入,比如我要從數據庫 文本中輸入怎麼辦呢?這樣的話,我們就需要改變數據來源的方式,還需要改變代碼 這樣的話,我們就需要用到函數,什麼叫函數:就是把我們需要大量重用的代碼封裝起來,然後再通過函數的參數來控制函數中動態調整的部分。 for i in range(n): fibs.append(fibs[-2] + fibs[-1]) print(fibs) 輸出結果爲 請輸入一個整數:4 [0, 1, 1, 2, 3, 5] 請輸入一個整數:10 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] -------------------------------------------------------------------------- 第二課:創建和使用python函數 在python中所有的代碼塊結尾的都要有: 函數也是代碼塊(if while for def(函數)) # 函數 # 創建和使用函數 # if while for ''' 函數的模板爲: def funName(param1, param2,...,paramn): statement1 statement2 statement3 ''' 上一講的 斐波那契數列 用函數實現 def fibs(n): # 函數名爲 fibs(n) result = [0, 1] for i in range(n): result.append(result[-2] + result[-1]) return result # 返回值 #print(fibs(10)) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] while True: n = input('請輸入一個整數:') if n == ':exit': break; n = int(n) print(fibs(n)) # 這裏是直接調用了函數了 n和他的獲取方式沒有任何的關係 輸出結果爲: 請輸入一個整數:10 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 請輸入一個整數:3 [0, 1, 1, 2, 3] 請輸入一個整數::exit 一個簡單 pythhon的函數的例子: python中函數的使用的例子 [root@bi-mysql-test scripts_test]# cat python_def02.py # coding:utf-8 # 定義函數 def hello(): print("hello world!") hello() [root@bi-mysql-test scripts_test]# /usr/local/python3.7.3/bin/python3 python_def02.py hello world! --------------------------------------------------------------------------------------------- 第三課:爲函數添加文檔註釋(重要) # 函數 # 爲函數添加文檔註釋 ''' 多行註釋 # 已# 開頭的爲單行註釋 ''' """ 多行註釋 """ def add(x,y): '計算兩個數的和' # 這個就是文檔註釋 return x + y print(add(1,2)) print(add.__doc__) # 輸出的結果爲: 計算兩個數的和 這個是意思通過程序 輸出文檔註釋 help(add) 輸出的結果爲: 3 計算兩個數的和 Help on function add in module __main__: add(x, y) 計算兩個數的和 // 這個文檔註釋非常的有用,我們在 編寫一個library的庫 每個函數,每個方法如何來用的話,就可以通過doc或者help的方式 和這個函數相關的註釋文檔輸出 就可以生成整個成熟的幫助文檔 例子: def hello(): '這個是hello world' print("hello world!") hello() # hello world! print(hello.__doc__) # 這個是hello world 輸出的結果爲: hello world! 這個是hello world ------------------------------------------------------------------------------------- 第四課:沒有返回值的函數 // 不是 所有的 函數都是要有返回值的,在有些語言裏 將沒有返回值的函數叫做過程 # 沒有返回值的函數 # Pascal 過程 # 沒有返回值 # 1. 沒有return語句 # 2. return語句後面沒有跟任何值 # 3. 沒有返回值的函數返回的是None # 小結: 我們通過函數的返回值爲None 並不能判斷函數有沒有return def fun1(flag): if flag: print("滿足條件") else: print("不滿足條件") fun1(True) # 滿足條件 def fun2(flag): if flag: return # 沒有返回值 退出當前的代碼塊,這個此時的含義和break是一樣的 print("滿足條件") fun2(True) # 滿足條件 fun2(False) # 不滿足條件 print(fun1(False)) # None def fun3(flag): if flag: return 20 else: return None print(fun3(True)) # 結果爲: 20 如果爲真返回20 print(fun3(False)) # 結果爲: None 如果爲假就返回None
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章