o1_函数的默认参数,多值参数.py
1 # Learner BM 2 """ 3 函数的默认参数,定义函数时候,如果一个参数的数据大多数情况下不变,就可以定义一个默认参数 4 5 6 """ 7 # 例如定义函数学生时,性别默认为男生 8 def studern(name,gentel='男'): 9 print('姓名是%s,性别是%s'% (name,gentel)) 10 # 若函数定义了默认参数,调用函数时候,不指定参数即使用默认参数 11 # 不添加默认参数 12 studern('小明') 13 # 指定参数,可以修改默认参数 14 studern('小美','女') 15 """ 16 注意默认参数定义时,需放置在参数列表的最后,若后方有2个以上的默认参数时,调用函数时需要指定数值 17 """ 18 # 定义多个默认参数的数据 19 def car(com,price=12,color='white'): 20 print('汽车的品牌是%s,汽车的价格是%s,汽车的颜色是%s' % (com,price,color)) 21 22 #调用函数 23 car('大众') 24 car('大众',18) 25 # 调用函数传入2个参数 ,传入颜色,却被价格接收 26 car('大众','black') 27 # 正确的调用方式,指定价格数据, 28 car('本田',price=18)
o2_函数的多值参数.py
1 # Learner BM 2 """ 3 定义函数时候,需要处理函数的参数个数不确定时,需要使用多值参数进行定义 4 5 *args 多值参数,可以接收 元组(tuple) 类型 命名 *args 6 **kwargs 多值参数,可以接收 字典(dic) 类型 明明 **kwargs 7 """ 8 num =10 9 nums =(1,2,3) 10 persion = {'name':'小米'} 11 # 定义一个多值参数的方法 12 def demo(num,*nums,**persion): 13 # 打印变量 14 print(num) 15 # 打印元祖 16 print(nums) 17 # 打印字典 18 print(persion) 19 demo(num,nums) 20 #******调用参数,传入元祖和字典,确发现全部被调用至元祖内部 21 demo(num,nums,persion) 22 23 """ 24 *****此时需要使用拆包语法,即调用参数时候,将实际参数前加上*(代表传递给元祖),和**(代表专递给字典) 25 26 """ 27 print('使用拆包语法后的输出效果') 28 demo(num,*nums,**persion) 29 30 # 不拆包语法"name='小米' 31 demo(num,nums,name='小米')
o3_函数递归,自己调用自己.py
1 # Learner BM 2 """ 3 递归,函数自己调用自己, 4 特点,根据参数不同执行不同 5 当参数满足一个条件时候,函数停止执行******非常重要,成为函数出口,否则出现死循环 6 7 """ 8 # 例子 9 # 递归函数,必须要有参数 10 def demo(num): 11 print('递归调用') 12 #2,定义函数出口,如果num=1,则停止函数,返回return, 13 # 对参数进行判断, 14 if num == 1: 15 return 16 #1,函数内部自己调用自己,此参数必须有所改变, 17 # 此参数为判断条件的参数,此函数为num变量-1,类似于while循环的 num+=1,或者num-=1, 18 demo(num-1) 19 20 demo(3)
浙公网安备 33010602011771号