• python函数--初识,返回值,调用.参数


    ## 01 今日内容大纲
    
    1. 内容回顾作业讲解
    2. 函数的初识
    3. 函数的结构与调用
    4. 函数的返回值
    5. 函数的参数
    
    
    
    
    
    ## 03 今日内容
    
    1. 函数的初识
    
       + 写一个获取字符串总个数的代码,不能用len:
    
         ```python
         s1 = 'fjkdsfjdssudafurpojurojregreuptotuproq[t'
         # python没有len
         count = 0
         for i in s1:
             count += 1
         print(count)
         
         ```
    
       + 写一个获取列表总个数的代码:
    
         ```python
         l1 = [1, 2, 3, 4, 5, 6]
         count = 0
         for i in l1:
             count += 1
         # print(count)
         
         
         ```
    
         这样的写代码low,
         **重复代码太多。**
         **代码的可读性差。**
    
       + 利用函数写出上面的功能:
    
         ```python
         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
    
       + 函数什么时候执行?
    
         + 当函数遇到      **函数名()**  函数才会执行!!!
    
           ```python
           def meet():
               print('打开tantan')
               print('左滑一下')
               print('右滑一下')
               print('找美女')
               print('悄悄话....')
               print('约....走起...')
           meet()
           meet()
           meet()
           ```
    
           
    
    3. 函数的返回值
    
       ```python
       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)
       
       ```
    
       ```python
       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. 函数的参数
    
       ```python
       def meet():
           print('打开tantan')
           print('进行筛选:性别:女')
           print('左滑一下')
           print('右滑一下')
           print('找美女')
           print('悄悄话....')
           print('约....走起...')
       
       s1 = 'jfdsklafjsda'
       l1 = [1,2,3]
       len(s1)
       ```
    
    + 函数的传参:让函数封装的这个功能,盘活。
      分两个角度:实参,形参。
    
    ```python
    def meet(sex):  #函数的定义:接受的参数形式参数
        print('打开tantan')
        print('进行筛选:性别:%s' %(sex))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    meet('')  # 函数的执行传的参数 :实际参数
    ```
    
    + **实参角度**
    
      1.位置参数: 从左至右,一一对应。
    
      ```python 
      - 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. 关键字参数
         一一对应
    
      ```python
      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. 混合参数
    
         ```python
         # 混合参数
         # 位置参数一定要在关键字参数的前面。
         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. 位置参数
    
         ```python
         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. 默认参数
    
         ```python
         默认值参数
         默认参数设置的意义:普遍经常使用的。
         
         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()
         ```
    
         
    
    ## 04 今日总结
    
    1. 函数:
    2. 函数的作用:以功能为导向,减少代码重复,使代码可读性好。
    3. 函数的结构,函数的执行。
    4. 函数的返回值:return 1,终止函数给函数的调用者返回值。
    5. 函数的参数:
       + 实参角度
         + 位置参数
         + 关键字参数
         + 混合参数
       + 形参角度
         + 位置参数
         + 默认参数
         + 


    + 函数是以功能为导向,减少重复代码,提高代码的可读性。

    ```
    def func():
    函数体

    ```

    + 函数的调用:func()

    ```
    func()
    func()
    func()
    ```

    + 函数的返回值 return

    + 终止函数。
    + return 单个值:
    + return 多个值:(1,2,3,'alex')

    + 函数的参数:

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




  • 相关阅读:
    P4999 烦人的数学作业
    P3413 SAC#1
    P2657 [SCOI2009]windy数
    P2602 [ZJOI2010]数字计数
    JSOI2007 建筑抢修
    CF161B Discounts
    Description
    Street Numbers
    Pizza Cutting
    Supermean
  • 原文地址:https://www.cnblogs.com/zengluo/p/13128954.html
Copyright © 2020-2023  润新知