07、day07_函数

函数的初识

  • 函数:以功能(完成一件事)为导向
    • 一个函数就是一个功能,随调随用
  • 减少代码的重复性
  • 增强代码可读性

函数的结构与调用

  • 结构: def 关键字,定义函数

    函数名:与变量设置相同,具有可描述性例如:len,login之类见名知意

    函数体:缩进,函数中尽量不要出现print

  • 调用:遇到 函数名() 才会执行

    # 定义函数
    # 模仿探探 这里只为测试,实际运用中,最好不要出现print
    def meet():
        print('打开软件')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话...')
        print('约...')
    # 调用刚刚定义好的meet函数,写一次执行一次
    meet()
    

函数的返回值

  • return就是将数据返回给函数的执行者,调用者,可以返回多个值

  • 如果return后啥也不写,返回None

  • 在函数中遇到return直接结束函数

  • 如果有多个返回值将会以元组的形式返回给调用者

    # 函数的返回值,我们把上面的代码拿下来
    # return: 在函数中遇到return直接结束函数
    def meet():
        print('打开软件')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话...')
        print('约...')
        return '得到妹子一枚'
    
    # 如果只是单纯的执行一次函数,并不会得到return里的内容
    meet()
    print('============ 我是华丽的分割线 ============')
    # 如果进行赋值操作,打印变量,这个变量就得到了return的内容,
    # return就是将数据返回给函数的执行者,调用者
    ret = meet()
    print(ret)
    
    def meet():
        print('打开软件')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话...') 
        print('约...')
        return '得到妹子一枚', 123, [22, 33]
    
    
    # 如果有多个返回值将会以元组的形式返回给调用者
    print(meet())  # 最后一行 ('得到妹子一枚', 123, [22, 33])
    # 还可以拆包
    ret, ret1, ret2 = meet()
    print(ret, ret1, ret2)
    

函数的参数

  • 函数的传参:让函数封装的这个功能,盘活,,,实参,形参

    • 实参

      • 位置参数:一个萝卜一个坑,从左至右,一一对应。

        def meet(sex, age, hobbi):  # 函数的定义:接收的参数形式参数
            print('打开软件')
            # 筛选
            print('进行筛选:性别:%s,年龄:%s, 爱好:%s' % (sex, age, hobbi))
            print('左滑一下')
            print('右滑一下')
            print('找美女')
            print('悄悄话...')
            print('约...')
            return '得到妹子一枚', 123, [22, 33]
        
        
        meet('女', 25, '羽毛球')  # 函数的执行传的参数:实际参数
        
        # 写一个函数只接收两个int的参数,函数的功能是将较大的数返回
        def num_max(a, b):
            if a > b:
                return a
            else:
                return b
        max1 = num_max(12,115)
        print(max1)
        
        # python的三元运算符
        def num_max(a, b):
            c = a if a > b else b
            return c
        max1 = num_max(12,115)
        print(max1)
        # 在简化一下
        def num_max(a, b):
            return a if a > b else b
        max1 = num_max(12,115)
        print(max1)
        
      • 关键字参数:

        def meet(sex, age, hobbi):
            print('打开软件')
            # 筛选
            print('进行筛选:性别:%s,年龄:%s, 爱好:%s' % (sex, age, hobbi))
            print('左滑一下')
            print('右滑一下')
            print('找美女')
            print('悄悄话...')
            print('约...')
            return '得到妹子一枚', 123, [22, 33]
        
        
        print(meet(age=30, sex='女', hobbi='羽毛球'))  # 关键字参数
        
      • 混合参数:

        位置参数一定要在关键字参数前面

    • 形参

      • 位置参数,与实参角度的位置参数是一种。

        # 写一个函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
        def two_len(li):
            if len(li) > 2:
                return li[:2]
            else:
                return li
        print(two_len([1,2,3,4,5,6,7,8]))
        # 简化成三元运算
        def two_len(li):
            return li[:2] if len(li) > 2 else li
        print(two_len([1,2,3,4,5,6,7,8]))
        
        # 再简化
        def two_len(li):
            return li[:2]
        print(two_len([1,2,3,4,5,6,7,8]))
        
        # 再来
        def two_len(li): return li[:2]
        print(two_len([1, 2, 3, 4, 5, 6, 7, 8]))
        
    • 默认值参数

      • def meet(age, hobbi, sex='女'):
        

        形参这里,sex='女'就是默认值,一定要放到关键字参数后面

        默认参数的意义就是,普遍经常使用

猜你喜欢

转载自www.cnblogs.com/mikie/p/12637804.html
07