# 1.函式 # 函式就是將一段具有獨特功能的代碼段整合到一個整體并命名 # 在需要的位置呼叫這個名稱即可完成對應的需求 # 函式的作用:封裝代碼(方便管理),實作代碼重用 print('1.函式作用') name_list = ['小明', '小剛'] # 串列 print(len(name_list)) # 長度為2 print() name_list.append('小芳') print('串列的長度:', len(name_list)) # 長度為3 print('list', name_list) # 可以拼寫 name_list.print 一樣的 print('type', type(name_list)) print('id', id(name_list)) print() name_list.append('小雨') print('串列的長度:', len(name_list)) print('list', name_list) print('type', type(name_list)) print('id', id(name_list))

# 2.定義函式 ''' def 函式名稱(引數): 代碼1 代碼2 ··· 根據不同需求 引數可有可無 函式必須先定義再呼叫 使用函式: 函式名稱(引數) ''' print() print('2.定義函式') # 定義一個函式輸出上面的重復代碼(串列資訊輸出) def list_info(): # information info print() print(name_list[0]) print('串列的長度:', len(name_list)) print('list', name_list) print('type', type(name_list)) print('id', id(name_list)) name_list = ['小明', '小剛'] # 串列 name_list.append('666') list_info() # 呼叫函式 name_list.append('888') list_info() # 呼叫函式

# 3.簡單的函式的使用 print() print('3.簡單的函式的使用') # information def print_info(): print('我真帥,我真好,我今天真棒!') print_info()

# 4.函式的引數 # 引數作用:讓函式更加靈活 print() print('4.函式的引數') # 定義一個輸出串列的函式 def print_info(list_data): # 形參 引數只會作用函式里面的資料 print(list_data) print() print_info([666, 555]) # 實參 # 定義串列中資料求和的函式 def list_sum(list_data): # 將串列中的資料求和 total = 0 for i in list_data: total += i print(total) print() list1 = [1, 2, 3, 4] list2 = [66, 22, 11] list_sum(list1) # print(sum(list1)) list_sum(list2) # 定義一個輸出串列長度的函式 def list_len(list_data): i = 0 for _ in list_data: # 臨時變數_ i += 1 print(i) print() list1 = [1, 2, 3, 4] list2 = [66, 22, 11] list_len(list1) # print(len(list1)) list_len(list2)

# 5.函式的回傳值 # return 回傳的引數 # return之后整個函式將會直接結束,return后面的代碼不會運行 print() print('5.函式的回傳值') # 定義串列中資料求和的函式 def list_sum1(list_data): # 將串列中的資料求和 """ 函式整體注釋 將串列中資料求和 :param list_data: 引數注釋 :return: 回傳值注釋 """ total = 0 for i in list_data: total += i print(total) return total # 當需要用到串列中的和 # print('666') # return之后函式結束,后面的代碼不會運行 print() list1 = [1, 2, 3, 4] data = list_sum1(list1) # 用變數data接收return后的回傳值 print(data)

# 6.函式的說明檔案 print() print('6.函式的說明檔案') help(len) # 列印函式的說明檔案 help(list_sum1) # 不要函式后面的括號 # 多個引數 # 注解 ->int 提示回傳型別是int # a:int 提示輸入的實參是int型別,但是若不是int型別,它不會報錯 def data_sum(a: int, b, c)->int: # a:int 提示輸入的實參是int型別 """ 求和 :param a: 數字1 :param b: 數字2 :param c: 數字3 :return: a+b b+c """ print(a+b+c) return a+b, b+c # 不會報錯,只是提示 print() float_data = 3.00 data_sum(1, 2, float_data) data = data_sum(1, 2, 3) print(data) # 回傳的是個元組 data1, data2 = data_sum(1, 2, 3) # 拆包方式 print(data1, data2)

# 7.函式的嵌套呼叫 print() print('7.函式的嵌套呼叫') def test_a(): print('a') def test_b(): test_a() print('b') test_b()

# 今日練習 ''' (1)定義一個去除串列中重復資料的函式 (2)傳入一個串列引數[3,4,2,2,4,0,1,4] (3)將串列資料去重后進行回傳(return) (4)在外部輸出去重后的串列 ''' print() print('今日練習') # 定義一個去除串列中重復資料的函式 def list_uniq_1(list_data: list)->list: # 注解 提示實參為list型別,回傳值為list型別 """ 利用集合set的去重 去除串列中重復的資料 :param list_data: 輸入的串列 :return: 回傳去重后的串列 """ set_1 = set(list_data) list_1 = list(set_1) return list_1 def list_uniq_2(list_data: list)->list: # 注解 提示實參為list型別,回傳值為list型別 """ 利用not in 去除串列中重復的資料 :param list_data: 輸入的串列 :return: 回傳去重后的串列 """ list_new = [] for i in list_data: # 遍歷串列中的每個資料 if i not in list_new: # 如果遍歷到的資料沒有在新串列中 list_new.append(i) # 那么把它添加到新串列 else: # 如果遍歷到的資料在新串列 pass # 就跳過 return list_new list1 = [3, 4, 2, 2, 4, 0, 1, 4] list2 = list_uniq_1(list1) print(list2) list3 = list_uniq_2(list1) print(list3)

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/536212.html
標籤:其他
下一篇:第2-3-7章 個人網盤服務介面開發-檔案存盤服務系統-nginx/fastDFS/minio/阿里云oss/七牛云oss
