第一課:爲什麼要使用函數
首先 要知道 本課程的主要講解的內容爲:
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
37 py爲什麼要使用函數函數中添加文本註釋 沒有返回值的函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.