zoukankan      html  css  js  c++  java
  • Day 09函数的初识:函数的结构与调用:返回值:参数

    01 今日内容大纲

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

    02 昨日内容回顾

    1. 文件操作初识:

      三部曲:

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

      • 读 r rb r+ r+b
        • read()全部读
        • readline()读一行,字符串类型,strip()去除空格 ,
        • readlines()['第一行内容 ','第二行内容 ',]
        • 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 预习内容

  • 相关阅读:
    【读书笔记】:MIT线性代数(1):Linear Combinations
    Adam Optimization Algorithm
    CSS 对齐方式
    CSS Position
    设置Table边框的CSS
    p_CreateAuditEntry
    Entity FramWork Code first 使用心得
    CRM 配置 ADFS后,使用自定义STS遇到的问题总结
    Sql Server Always On主库与附库遇到的问题
    ADFS 登录页面自定义
  • 原文地址:https://www.cnblogs.com/Redbean1231/p/13276507.html
Copyright © 2011-2022 走看看