1. 函数的初识

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
    • 写一个获取字符串总个数的代码,不能用len:

      s1= 'fjkdsfjdssudafurpojurojregreuptotuproq[t'
      # python没有len
      count= 0
      foriins1:
         count+= 1
      print(count)
    • 写一个获取列表总个数的代码:

      l1= [1, 2, 3, 4, 5, 6]
      count= 0
      foriinl1:
         count+= 1
      # print(count)

      这样的写代码low, 重复代码太多。 代码的可读性差。

    • 利用函数写出上面的功能:

      s1= 'fsjkdafshdjfsdhafjksda'
      l1= [1,2,3,4,5,6]

      defmy_len(s):
         count= 0
         foriins:
             count+= 1
         print(count)
      my_len(s1)
      my_len(l1)
    • 函数:以功能(完成一件事)为导向,登录,注册,len,一个函数就是一个功能。 随调随用。

    • 函数的优点:

      • 减少代码的重复性。

      • 增强了代码的可读性。

  2. 函数的结构与调用

    • 结构: def 关键字,定义函数。 meet 函数名:与变量设置相同,具有可描述性。 函数体 :缩进。函数中尽量不要出现 print

    • 函数什么时候执行?

      • 当函数遇到 函数名() 函数才会执行!!!


        defmeet():
           print('打开tantan')
           print('左滑一下')
           print('右滑一下')
           print('找美女')
           print('悄悄话....')
           print('约....走起...')
        meet()
        meet()
        meet()
  3. 函数的返回值

    defmeet():
       print('打开tantan')
       print('左滑一下')
       return
       print('右滑一下')
       print('找美女')
       print('悄悄话....')
       print('约....走起...')
    meet()
    return: 在函数中遇到return直接结束函数。
    def meet():
      print('打开tantan')
      print('左滑一下')
      print('右滑一下')
      print('找美女')
      print('悄悄话....')
      print('约....走起...')
      return '妹子一枚'

    ret = meet()
    print(ret)
    print(meet())
    return 将数据返回给函数的执行者,调用者 meet()。
    s1 = 'jfdkslfjsda'
    ret = len(s1)
    print(ret)
    defmeet():
       print('打开tantan')
       print('左滑一下')
       print('右滑一下')
       print('找美女')
       print('悄悄话....')
       print('约....走起...')
       # return '妹子一枚'
       return'妹子', 123, [22, 33]
    ret= meet()
    # ret,ret1,ret2 = meet()
    print(ret,type(ret))
    # return 返回多个元素 是以元组的形式返回给函数的执行者。
    • 返回值的总结:

      • 在函数中,终止函数。

      • return 可以给函数的执行者返回值:

        • return 单个值 单个值

        • return 多个值 (多个值,)

  4. 函数的参数

    defmeet():
       print('打开tantan')
       print('进行筛选:性别:女')
       print('左滑一下')
       print('右滑一下')
       print('找美女')
       print('悄悄话....')
       print('约....走起...')

    s1= 'jfdsklafjsda'
    l1= [1,2,3]
    len(s1)
  • 函数的传参:让函数封装的这个功能,盘活。 分两个角度:实参,形参。

defmeet(sex):  #函数的定义:接受的参数形式参数
   print('打开tantan')
   print('进行筛选:性别:%s'%(sex))
   print('左滑一下')
   print('右滑一下')
   print('找美女')
   print('悄悄话....')
   print('约....走起...')

meet('男')  # 函数的执行传的参数 :实际参数
  • 实参角度

    1.位置参数: 从左至右,一一对应。

    -defmeet(sex,age,skill):
         print('打开tantan')
         print('进行筛选:性别:%s,年龄:%s,%s'%(sex,age,skill))
         print('左滑一下')
         print('右滑一下')
         print('找美女')
         print('悄悄话....')
         print('约....走起...')

    meet('女',25,'python技术好的',)

    写一个函数,只接受两个int的参数,函数的功能是将较大的数返回。
    defcompile(a,b):
       c= 0
       ifa>b:
           returnc
       else:
           returnc
    print(compile(10,20))
    print(compile(1000,1))
    compile(1000,20)

    三元与运算符:简单的ifelse
    a= 1000
    b= 2000
    ifa>b:
       c= a
    else:
       c= b
    print(c)

    a= 1000
    b= 2000
    c= aifa>belseb
    defcomplie(a,b):
       c= aifa>belseb
       returnc

    defcomplie(a,b):
       returnaifa>belseb
    1. 关键字参数 一一对应

    defmeet(sex,age,skill,hight,weight,):
         print('打开tantan')
         print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s'%(sex,age,skill,hight,weight))
         print('左滑一下')
         print('右滑一下')
         print('找美女')
         print('悄悄话....')
         print('约....走起...')

    meet(age=25,weight=100,hight=174,skill='python技术好的',sex='女')

    函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
    一一对应
    defmeet(sex,age,skill,hight,weight,):
     print('打开tantan')
       print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s'%(sex,age,skill,hight,weight))
       print('左滑一下')
       print('右滑一下')
       print('找美女')
       print('悄悄话....')
       print('约....走起...')

    meet(age=25,weight=100,hight=174,skill='python技术好的',sex='女')

    函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
    deffunc(a,b):
       returna+b
    print(func(b='太白',a='无敌'))
    1. 混合参数

      # 混合参数
      # 位置参数一定要在关键字参数的前面。
      defmeet(sex,age,skill,hight,weight,):
         print('打开tantan')
         print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s'%(sex,age,skill,hight,weight))
         print('左滑一下')
         print('右滑一下')
         print('找美女')
         print('悄悄话....')
         print('约....走起...')
         return'筛选结果:性别:%s,体重%s'%(sex,weight)

      print(meet('女',25,weight=100,hight=174,skill='python技术好的'))
  • 形参角度:

    1. 位置参数

      defmeet(sex,age,skill):
         print('打开tantan')
         print('进行筛选:性别:%s,年龄:%s,%s'%(sex,age,skill))
         print('左滑一下')
         print('右滑一下')
         print('找美女')
         print('悄悄话....')
         print('约....走起...')

      meet('女',25,'python技术好的',)

      写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
      deffunc(l):
         iflen(l) >2:
             returnl[:2]
         else:
             returnl
      # print(func([1,2,3,4,5]))
      print(func([1,]))

      deffunc(l):
         c= l[:2] iflen(l) >2elsel
         returnc
      print(func([1,2,3,4,5]))
      print(func([1,]))

      deffunc(l):
         returnl[:2]
      # l1 = [1,]
      # print(l1[:2])
    2. 默认参数

      默认值参数
      默认参数设置的意义:普遍经常使用的。

      defmeet(age,skill='python技术好的',sex='女',):
         print('打开tantan')
         print('进行筛选:性别:%s,年龄:%s,技能:%s'%(sex,age,skill))
         print('左滑一下')
         print('右滑一下')
         print('找美女')
         print('悄悄话....')
         print('约....走起...')

      # meet(25,'python技术好的',)
      meet(25,'运维技术好的','男')

      open()

       

总结

  1. 函数:

  2. 函数的作用:以功能为导向,减少代码重复,使代码可读性好。

  3. 函数的结构,函数的执行。

  4. 函数的返回值:return 1,终止函数给函数的调用者返回值。

  5. 函数的参数:

    • 实参角度

      • 位置参数

      • 关键字参数

      • 混合参数

    • 形参角度

      • 位置参数

      • 默认参数

      • 混合参数
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄