# 1.函數 # 函數就是將一段具有獨特功能的代碼段整合到一個整體並命名 # 在需要的位置調用這個名稱即可完成對應的需求 # 函數的作用:封裝代碼(方便管理),實現代碼重用 print('1.函數作用') name_list = ['小明', '小剛'] # 列表 print(len(name_li ...
# 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)