Day 09函数的初识:函数的结构与调用:返回值:参数

01 今日内容大纲

  1. 内容回顾与作业讲解
  2. 函数的初始
  3. 函数的结构与调用
  4. 函数的返回值
  5. 函数的参数

02 昨日内容回顾

  1. 文件操作初识:

    三部曲:

    • 打开文件open()
    • 操作文件(文件句柄进行操作)
    • 关闭文件
      • 文件的路径:path
      • 编码方式:encoding
      • mode
  2. 读,写,追加

    • 读 r rb r+ r+b
      • read()全部读
      • readline()读一行,字符串类型,strip()去除空格\n,\t
      • readlines()['第一行内容\n','第二行内容\n',]
      • for循环,对文件句柄.(节省内存,新读一行,上一行内存小时,迭代器)
      • read(n
        • r:read(n)按字符读
        • rb:read(n)按字节读
    • 写:w wb w+ w+b
      • w
        • 没有文件创建新文件,写入内容
        • 有文件,先清空在写入新内容
    • 追加:a ab a+ a+b
      • a:没文件,创建新文件,追加内容
      • a:有文件,追加新内容
  3. r+:先读后写

  4. 其他功能:tell() seek() flush()

  5. with open() as f1:不用手动关闭文件句柄,一个语句可以操作多个文件句柄

03 今日内容

  1. 函数的初识:

    • 写一个获取字符串总个数的代码,不能用len:

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

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

      这样写代码太low

      重复代码多

      代码可读性差

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

      s1 = 'fsjkdafshdjfsdhafjksda'
      l1 = [1,2,3,4,5,6]
      
      def my_len(s):
          count = 0
          for i in s:
              count += 1
          print(count)
      my_len(s1)
      my_len(l1)
      
      
    • 函数: 以功能为导向,登录注册,len(),一个函数就是一个功能.随调随用

    • 函数的优点:

      • 减少了代码的重复性
      • 增加了代码的可读性
  2. 函数的结构与调用

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

      meet 函数名:与变量设置相同,具有可描述性。
      函数体 :缩进。函数中尽量不要出现 print
      
    • 函数什么时候执行?

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

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

    def meet():
        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)
    
    
    
    def meet():
        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. 函数的参数

    def meet():
        print('打开tantan')
        print('进行筛选:性别:女')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    s1 = 'jfdsklafjsda'
    l1 = [1,2,3]
    len(s1)
    
  • 函数的传参:让函数封装这个功能,盘活.

    分两个角度:实参,形参.

    def meet(sex):  #函数的定义:接受的参数形式参数
        print('打开tantan')
        print('进行筛选:性别:%s' %(sex))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    meet('男')  # 函数的执行传的参数 :实际参数
    
    
  • 实参角度

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

      - def meet(sex,age,skill):
            print('打开tantan')
            print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill))
            print('左滑一下')
            print('右滑一下')
            print('找美女')
            print('悄悄话....')
            print('约....走起...')
      
      meet('女',25,'python技术好的',)
      
      写一个函数,只接受两个int的参数,函数的功能是将较大的数返回。
      def compile(a,b):
          c = 0
          if a > b:
              return c
          else:
              return c
      print(compile(10,20))
      print(compile(1000,1))
      compile(1000,20)
      
      三元与运算符: 简单的if else
      a = 1000
      b = 2000
      if a > b:
          c = a
      else:
          c = b
      print(c)
      
      a = 1000
      b = 2000
      c = a if a > b else b
      def complie(a,b):
          c = a if a > b else b
          return c
      
      def complie(a,b):
          return a if a > b else b
      
      
      
    2. 关键字参数:

      一一对应

      def meet(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='女')
      
      函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
      一一对应
      def meet(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='女')
      
      函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
      def func(a,b):
          return a + b
      print(func(b='太白',a='无敌'))
      
      
    3. 混合参数

      # 混合参数
      # 位置参数一定要在关键字参数的前面。
      def meet(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. 位置参数

      def meet(sex,age,skill):
          print('打开tantan')
          print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill))
          print('左滑一下')
          print('右滑一下')
          print('找美女')
          print('悄悄话....')
          print('约....走起...')
      
      meet('女',25,'python技术好的',)
      
      写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
      def func(l):
          if len(l) > 2:
              return l[:2]
          else:
              return l
      # print(func([1,2,3,4,5]))
      print(func([1,]))
      
      def func(l):
          c = l[:2] if len(l) > 2 else l
          return c
      print(func([1,2,3,4,5]))
      print(func([1,]))
      
      def func(l):
          return l[:2]
      # l1 = [1,]
      # print(l1[:2])
      
      
    2. 默认参数

      默认值参数
      默认参数设置的意义:普遍经常使用的。
      
      def meet(age,skill='python技术好的',sex='女',):
          print('打开tantan')
          print('进行筛选:性别:%s,年龄:%s,技能:%s' %(sex,age,skill))
          print('左滑一下')
          print('右滑一下')
          print('找美女')
          print('悄悄话....')
          print('约....走起...')
      
      # meet(25,'python技术好的',)
      meet(25,'运维技术好的','男')
      
      open() #'r'
      

04 今日总结

  1. 函数:

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

  3. 函数的结构,函数的执行(碰到函数名+括号才执行)

  4. 函数的返回值:return

    1. 终止函数
    2. 给函数的调用者返回值
  5. 函数的参数:

    • 实参角度:
      • 位置参数
      • 关键字参数
      • 混合参数
    • 形参角度
      • 位置参数
      • 默认参数

05 预习内容

posted @ 2020-07-09 22:04  Redbean1231  阅读(81)  评论(0编辑  收藏  举报