• 9.Python初窥门径(函数初识)


    Python(函数初识)

    一、初识函数

    • 面向过程缺点 : 代码重复,代码描述性不高
    • 函数 : 函数是以功能为导向,一个函数封装一个功能.
    • 函数的优点 : 减少代码重复性,增强了代码的可读性

    二、函数的结构

    # 结构
    def 函数名():
    	内容
    # def : 定义一个函数,def关键字后紧跟一个空格
    # def 函数名() : 函数名命名方式与变量命名规范一致
    

    三、函数的调用

    # 结构
    def 函数名():
    	内容
    函数名()
    # 函数名() : 函数的执行
    ---------------------------------
    # 函数的执行写多少次,执行多少次
    lis=[1,2,3,4,5,6,7,8,9]
    def new_len():
        count=0
        for i in lis:
            count+=1
        print(count)
    for i in range(3):
    	new_len() # 执行结果 三次9
    

    四、函数的返回值

    return 作用1 : 只能在函数中用,可用于结束函数

    lis=[1,2,3,4,5,6,7,8,9]
    def new_len():
        count=0
        for i in lis:
            count+=1
        print("少林")
        return
        print("武当")
    new_len() # 少林
    

    return 作用2 : 给函数的执行者返回具体的值(三种情况)

    1. 函数中没有return或只写一个return,函数的执行者得到的是None

      lis=[1,2,3,4,5,6,7,8,9]
      def new_len():
          count=0
          for i in lis:
              count+=1
          return
      print(new_len()) # None
      
    2. 函数中return后跟单个值,则返回这个值,不改变值得类型

      lis=[1,2,3,4,5,6,7,8,9]
      def new_len():
          count=0
          for i in lis:
              count+=1
          return [1,2,3,4,5]
      print(type(new_len())) # <class 'list'>
      
    3. 函数中return后跟多个值,函数的执行者得到的是一个元组

      lis=[1,2,3,4,5,6,7,8,9]
      def new_len():
          count=0
          for i in lis:
              count+=1
          return [1,2,3,4,5],123,"123"
      print(type(new_len())) # <class 'tuple'>
      

    五、函数的传参

    定义 : 在函数调用时,那实参的值赋值给形参的过程叫做传参.

    目的 : 函数可扩展性

    def new_len(a): # 定义函数时的参数:形参
        count=0
        for i in a:
            count+=1
        return count
    l1=[1,2,3]
    s1="dsadsadsadsad"
    print(new_len(l1)) # 3 函数的调用者参数:实参
    print(new_len(s1)) # 13 函数的调用者参数:实参
    

    实参分类(三种)

    1. 位置参数 : 按照位置为形参赋值,按照顺序一一对应

      def meet(sex,age,job):# 位置参数从左到右,形参与实参按照顺序一一对应
          print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job))
      meet("女","20-25","老师")
      
    2. 关键字参数 : 按照位置为形参赋值,可不按照顺序一一对应

      # 位置参数从左到右,形参与实参可不按照顺序一一对应
      def meet(sex,job,age):
          print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job)) # 这里要按照顺序
      meet(job="老师",age="20-25",sex="女")
      
    3. 混合参数

      # 关键字参数一定要在位置参数后面,一一对应
      def meet(job,age,weight,sex):
          print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
      meet("老师","20-25",sex="女",weight="120")
      

    形参角度(四种)

    1. 位置参数 : 与实参角度位置参数一致

    2. 默认参数 : 默认参数一定在位置参数后面,不传参数即沿用默认的参数,更改默认参数可以用位置或指定的方式更改默认参数.

      def meet(job,age,weight,sex="女"):
          print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
      meet("老师","20-25",weight="120")
      ---------------------------------
      # 更改默认参数,第一种
      def meet(job,age,weight,sex="女"):
          print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
      meet("老师","20-25",sex="女",weight="120")
      # 更改默认参数,第二种
      def meet(job,age,weight,sex="女"):
          print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
      meet("老师","20-25","120","男")
      
      

    以下两种函数进阶会讲到

    1. 动态参数

    2. 仅限关键字参数

  • 相关阅读:
    javascript闭包函数
    取消后续内容执行
    vs安装失败,发生严重错误,错误号:Error 0x80070643
    ref
    深入类的方法
    学习过程中的三个小小程序
    SQL Server 中存储过程的练习
    SQL Server系统存储过程
    SQL-server的事务,视图和索引
    用C#,SQL Server编写的音乐播放软件
  • 原文地址:https://www.cnblogs.com/chenshuo531702820/p/11039298.html
Copyright © 2020-2023  润新知