# 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)